USB Disconnecting/Reconnecting with Kobo Libra H2O

Hi Everyone,

I’m having issues with my Kobo Libra H2O eReader disconnecting and reconnecting frequently when used with my Framework Laptop. I was wondering if anyone might have any ideas.

Things I’ve tried:
Different micro USB cable (no change)
Expansion card in different port (tried them all)
Different computer (worked)
Happens even when only loaded to BIOS, not to OS.
3.5" drive connected to same port, with same expansion card, and same cable (no issue)
Updated BIOS from 3.06 to 3.07 Beta (no change)

Things I haven’t tried:
Different USB-A expansion card (only have 1)
USB-C to Micro USB cable (don’t have one)

I could try buying a USB-C to Micro USB cable, but I’m not sure that would fix the issue. I’m running Fedora 35. I’m happy to provide logs, just not sure what logs might be helpful. At this point, I’m kind of thinking it could be the BIOS. Any help would be appreciated.

Thanks!

[…] disconnecting and reconnecting frequently when used with my Framework Laptop.

Happens even when only loaded to BIOS, not to OS.

Without knowledge of the eReader’s vagaries, I’m having trouble reconciling these two statements. What do you mean by ‘disconnecting and reconnecting’ when it’s just the BIOS?

I’m referring to the Framework Laptop being loaded to the BIOS, not the eReader. If that’s where the confusion is.

When the eReader is plugged into a computer, a prompt appears on the eReader that says “Computer detected. Would you like to connect your eReader to your computer to manage files? Cancel or Connect”
If you select Connect, the eReader will appear to the computer as a mass storage device. The eReader also changes to a screen that says “Connected and charging. Please don’t forget to eject your eReader before unplugging the USB Cable.”, making it clear that the device is in mass storage mode. It normally stays in this mode until physically disconnected.
If you select Cancel, it will just charge over USB.

What I’m experiencing with the Framework Laptop is that if it’s in mass storage mode, it’s being kicked out of that mode as if the physical connection was reset. If the prompt to connect your eReader to your computer to manage files was cancelled, the prompt is reappearing, again as if the connection was physically reset. It varies, but the connection seems to reset somewhere between 15 seconds and a few minutes. It’s inconsistent.

If the Framework Laptop is loaded into the BIOS or the OS has no effect on this behaviour.

I’m still unclear on the sequence of events.

With the eReader connecting to a BIOS computer (sequence A.1):

  • The eReader prompts “Computer detected […]”
  • You press “Connect”
  • The computer does nothing (it’s in BIOS)
  • The eReader says “Connected and charging […]”

?

Or is it (sequence A.2):

  • The eReader prompts “Computer detected […]”
  • You press “Cancel”
  • The computer does nothing (it’s in BIOS)
  • The eReader charges over USB

?

And after whichever sequence of events above that’s correct (sequence B):

  • You wait 15 seconds

Then either (sequence C.1):

  • The eReader ceases to think it’s a storage device (irrespective of it never having successfully acted as a storage device)

Or (sequence C.2):

  • The eReader stops charging

Which combination of As, B, and Cs is the sequence of events you’re referring to when you plug the eReader in while the laptop is in BIOS mode?

The only reason the computer being in BIOS is relevant is to rule out OS interference.

Sequence A.1:

  • The eReader prompts “Computer detected […]”
  • You press “Connect”
  • The computer does nothing if in BIOS, detects as storage device in OS
  • The eReader says “Connected and charging […]”

Sequence A.2:

  • The eReader prompts “Computer detected […]”
  • You press “Cancel”
  • The computer does nothing
  • The eReader charges over USB

Sequence B:

  • You wait 15 seconds

Sequence C:

  • The eReader ceases to think it’s a storage device. Continues to charge over USB.

Depending on if you select Continue or Cancel, these are the 2 possible sequences.
Continue: A.1, B, C, B, loop back to start
Cancel: A.2, B, loop back to start

The only reason the computer being in BIOS is relevant is to rule out OS interference.

Ya, my concern was with the eReader acting bizarrely, and whether or not I could trust it reporting when it’s a storage device. Based on:

Continue: A.1, B, C, B, loop back to start

Being apparently applicable even when the laptop is in BIOS, that’s a pretty solid no.


Have you tested a known good thumb drive in the expansion slot? (to isolate the expansion slot)
Have you tested other USB-C peripherals in the various bays with a known good device, e.g. a phone?
Have you seen the eReader reported as a mass storage device from the laptop side? (e.g. in file manager, or as a new entry in /dev/)
Have you watched the /dev/ directory when plugging in the eReader, selecting the connection mode, and getting disconnected?

I used a thumb drive with that expansion card less than a week ago to install my OS, and I tested with a 3.5" drive yesterday.
I have connected my phone over USB-C. No issues there.
I have seen and transferred data to the eReader. It does appear in the file manager, and it does appear as /dev/bsg.

When I tap Connect, /dev/bsg appears. When C happens, /dev/bsg disappears. A quick googling tells me that bsg would be a SCSI device. Could be something to do with that. I’m not sure if I have any other SCSI devices I could test.

I tested with an Ubuntu VM on my desktop (where I don’t have this issue), and it’s also appearing under /dev/bsg on there.

Thanks for trying to help out btw. I appreciate it.

This might not be specific to Framework. This guy had the same problem and resolved it by disabling wifi on his Kobo:

I was having the exact same problem with my own Kobo on my Framework and disabled wifi on the Kobo and lo, joy was had, the Kobo ceased to cycle disconnect/reconnect.

However, joy was then lost when I clicked calibre’s (I’m using calibre) “disconnect device” (or whatever it said) button. After that, the Kobo went back to cycling the connecting (inconsistently as op said), even with the Kobo’s wifi disabled.

I suppose I will try turning my Framework off and on again and see if that resets anything.

Restart did not change anything. Also, my Kobo is appears as /dev/sdb.

https://forums.linuxmint.com/viewtopic.php?t=320801

It looks like P204’s hunch is right. That link seems to be about the same problem as here. There’s a kind of solution which is to “blacklist” the device from the uas kernel module from the Kobo, after which it operates as a standard usb storage device. I haven’t tried it yet myself. HTH.

~~
more:

I tried the solution at the link and it worked for me. EDIT Unfortunately it did seem to work one time, but I have been unable to repeat the success. Frustrating.

In case it helps anyone resolve the fundamental issue (or determine what it is anyway), here is my dmesg output when I connect the Kobo and it spontaneously disconnects:

[ 49.402269] usb 3-1: new high-speed USB device number 5 using xhci_hcd
[ 49.620839] usb 3-1: New USB device found, idVendor=2237, idProduct=4232, bcdDevice= 4.01
[ 49.620849] usb 3-1: New USB device strings: Mfr=3, Product=4, SerialNumber=5
[ 49.620852] usb 3-1: Product: eReader-4.30.18838
[ 49.620855] usb 3-1: Manufacturer: Kobo
[ 49.620858] usb 3-1: SerialNumber: N87307B073135
[ 49.624051] usb-storage 3-1:1.0: USB Mass Storage device detected
[ 49.624370] scsi host1: usb-storage 3-1:1.0
[ 50.627854] scsi 1:0:0:0: Direct-Access Linux File-Stor Gadget 0401 PQ: 0 ANSI: 2
[ 50.628372] sd 1:0:0:0: Attached scsi generic sg1 type 0
[ 50.628980] sd 1:0:0:0: Power-on or device reset occurred
[ 50.629513] sd 1:0:0:0: [sdb] 14139389 512-byte logical blocks: (7.24 GB/6.74 GiB)
[ 50.629865] sd 1:0:0:0: [sdb] Write Protect is off
[ 50.629869] sd 1:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[ 50.630231] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 50.674889] sdb:
[ 50.704623] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[ 73.330428] usb 3-1: USB disconnect, device number 5
[ 73.338880] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
[ 73.338905] sd 1:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[ 73.350831] FAT-fs (sdb): unable to read boot sector to mark fs as dirty

Since it may be relevent or compound to the issue, here is my thread where I have similar dis/re-connect issue with ssd expansion cards.

I have recently managed to get 1 full day without a single disconnect/reconnect after changing a power-management/performance setting in the bios (of the framework) off of max-battery. Normally I only get a few minutes and 3 hrs max.
Its a bit early to say I found the source and workaround for my issue, but seems promising. Let me know if yours is set to max-batery atm, and if changing it away from that seems to solve the issue for you as well. (or if it seems unrelated)

Trying to get a better idea of my issue and its STR. Hoping we are experiencing the same problem since the core symptom (unexpected usb disconnect/reconnect event of a plugged in device) is the same.

I’m pretty sure I had a similar issue with the thumb drive I was using to try and install Linux onto the fresh laptop. Took me an hour to realize the specific issues the installer were giving me were nothing to do with the installer but just that it didn’t have access to the drive anymore.

What’s strange is that the laptop had no problem booting the USB-live version of the OS (tried both Ubuntu and Fedora). And it was mostly functional, I was even able to install software. However, most software I tried to run would fuss out because core libraries would be inaccessible.

After the realization, I was able to get Ubuntu on with another thumb drive. And upon connecting the original thumb drive again checking dmesg, this is what I got

[  249.988896] usb 2-4: new SuperSpeed USB device number 9 using xhci_hcd
[  250.022087] usb 2-4: New USB device found, idVendor=0951, idProduct=172b, bcdDevice= 0.01
[  250.022096] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  250.022099] usb 2-4: Product: DataTraveler 70
[  250.022102] usb 2-4: Manufacturer: Kingston
[  250.022104] usb 2-4: SerialNumber: 0C9D9210E304F5B1093206F2
[  250.031700] usb-storage 2-4:1.0: USB Mass Storage device detected
[  250.032175] scsi host0: usb-storage 2-4:1.0
[  251.053902] scsi 0:0:0:0: Direct-Access     Kingston DataTraveler 70       PQ: 0 ANSI: 6
[  251.054464] sd 0:0:0:0: Attached scsi generic sg0 type 0
[  251.055093] sd 0:0:0:0: [sda] 60437492 512-byte logical blocks: (30.9 GB/28.8 GiB)
[  251.055393] sd 0:0:0:0: [sda] Write Protect is off
[  251.055398] sd 0:0:0:0: [sda] Mode Sense: 4f 00 00 00
[  251.055638] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  251.071051]  sda: sda1 sda2 sda3
[  251.113183] sd 0:0:0:0: [sda] Attached SCSI removable disk
[  251.278778] ISO 9660 Extensions: Microsoft Joliet Level 3
[  251.279966] ISO 9660 Extensions: Microsoft Joliet Level 3
[  251.280798] ISO 9660 Extensions: RRIP_1991A
[  255.739928] usb 2-4: USB disconnect, device number 9
[  255.740044] xhci_hcd 0000:00:0d.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.
[  256.052207] usb 2-4: new SuperSpeed USB device number 10 using xhci_hcd
[  256.085572] usb 2-4: New USB device found, idVendor=0951, idProduct=172b, bcdDevice= 0.01
[  256.085581] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  256.085584] usb 2-4: Product: DataTraveler 70
[  256.085587] usb 2-4: Manufacturer: Kingston
[  256.085589] usb 2-4: SerialNumber: 0C9D9210E304F5B1093206F2
[  256.094733] usb-storage 2-4:1.0: USB Mass Storage device detected
[  256.095266] scsi host1: usb-storage 2-4:1.0
[  257.499769] usb 2-4: USB disconnect, device number 10
[  257.499889] xhci_hcd 0000:00:0d.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.

It started at device number 2, disconnect that device and reconnect as the next number and so on. I looked up a few of the warnings and didn’t get much. I tried the uas-blacklist workaround mentioned above but that didn’t do anything either.

Not sure if it would be worth mentioning in the Linux installation guides, but it would have saved me a lot of grief.

@fishghost If you are still having that issue with that drive/various devices, please check if your bios is set to max battery as mine was, and attempt changing it if so. I am now on day 2 with no issues, and I even powercyled to ensure it wasn’t some lucky boot. So I’m confident its at least the work around for my issue.

I am hoping that this might be the underlying cause of many of the usb disconnect/reconnect issues some people have had…

(Note it doesn’t seem to affect all devices, my usba 3.0 drive worked fine for instance even when this was on)

@Shy_Guy Meant to mention it was on my list of next steps. Unfortunately, no dice :cry:

Laptop was already set to Turbo. I tried Non-Turbo. And then Max Battery (because :man_shrugging:).

The drive is still formatted as a bootable Fedora ISO so I’m going to try a couple of these again after reformatting on my other PC as a regular fat32 and see where we’re at.

Thnx for the reply. Sorry it didn’t help. Hoping it would…
I either have a faulty mobo and my new settings are just working around a issue (maybe more power overcoming a damaged trace) or my old bios settings were revealing unknown bugs. Hoping its the latter so I can keep my mobo

1 Like

So I’ve found a workaround for my issue but it’s pretty dumb and I kind of hate that it works and hate more that I didn’t try it sooner. The thumb drive I was using was a USB-C thumb drive and so I was using the USB-C expansion card. But when I instead, connected it to USB-A expansion card with a C-A adapter, it worked fine. I even tried swapping the expansion cards around to see if it was something to do with the ports, but same behaviour. Unfortunately, the drive is too thick to fit directly into the Expansion Slot so I can’t test if that would have worked. The USB-C expansion cards also work fine for my speakers and connecting to my phone.

It seems to work so I’m going to stick with it. I know it won’t be of much help to most of these issues but maybe it will help someone with troubleshooting. Strangely, these are the errors (in red) that I got on first inserting the drive with the converter but not subsequently:

usb usb2-port3: Cannot enable. Maybe the USB cable is bad?
usb usb2-port3: Cannot enable. Maybe the USB cable is bad?
usb usb2-port3: unable to enumerate USB device

Definitely my mainboard, nvm