Comment 28 for bug 1838886

Revision history for this message
Uwe Schindler (uwe-thetaphi) wrote :

Hi,
I can confirm, if I add this parameter to /etc/modprobe.d/realtek.conf:

options ums-realtek auto_delink_en=0

...and rebuild the initramfs, after a full shutdown with power coord removed, it works correctly - but only initially!!! FYI, just rebooting is not enough and brings crazy error messages about device errors (I think the device state was not sane; you mentioned this before).

After reboot, I see the /dev/sdb device with no partitions:

root@sirius:~# dd if=/dev/sdb of=/dev/null
dd: failed to open '/dev/sdb': No medium found

After that, I did some tests and all worked fine: After inserting a SD card, it recognizes the partiontions and I was able to mount:

[ 67.620372] sd 2:0:0:0: [sdb] 31116288 512-byte logical blocks: (15.9 GB/14.8 GiB)
[ 67.630565] sdb: sdb1

root@sirius:~# mount /dev/sdb1 /mnt
root@sirius:~# ls -l /mnt/
total 8
drwxr-xr-x 2 root root 8192 Aug 4 19:22 'System Volume Information'
root@sirius:~# umount /mnt

After removing the card, the partition /dev/sdb1 disappeared. Reinserting the card directly after removal worked fine: I was able to see the card and do the same tests again.

But now the problem: I waited 15 minutes and tried again: After inserting the card, no kernel messages about detected partitions. If I do the "dd" on /dev/sdb it hangs completely. You cannot even kill the dd process from another terminal. Kernel messages:

[ 1209.490442] INFO: task kworker/u8:4:305 blocked for more than 120 seconds.
[ 1209.490454] Not tainted 5.0.0-23-generic #24~18.04.1-Ubuntu
[ 1209.490459] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 1209.490467] kworker/u8:4 D 0 305 2 0x80000000
[ 1209.490502] Workqueue: scsi_tmf_2 scmd_eh_abort_handler
[ 1209.490511] Call Trace:
[ 1209.490543] __schedule+0x2bd/0x850
[ 1209.490561] schedule+0x2c/0x70
[ 1209.490572] schedule_timeout+0x1db/0x360
[ 1209.490584] ? __switch_to_asm+0x40/0x70
[ 1209.490593] ? __switch_to_asm+0x34/0x70
[ 1209.490602] ? __switch_to_asm+0x40/0x70
[ 1209.490611] ? __switch_to_asm+0x34/0x70
[ 1209.490620] ? __switch_to_asm+0x40/0x70
[ 1209.490629] ? __switch_to_asm+0x34/0x70
[ 1209.490638] ? __switch_to_asm+0x40/0x70
[ 1209.490647] ? __switch_to_asm+0x34/0x70
[ 1209.490658] wait_for_completion+0xba/0x140
[ 1209.490671] ? wake_up_q+0x80/0x80
[ 1209.490700] command_abort+0x60/0xa0 [usb_storage]
[ 1209.490712] scmd_eh_abort_handler+0x5e/0x230
[ 1209.490726] process_one_work+0x1fd/0x400
[ 1209.490738] worker_thread+0x34/0x410
[ 1209.490753] kthread+0x121/0x140
[ 1209.490762] ? process_one_work+0x400/0x400
[ 1209.490773] ? kthread_park+0x90/0x90
[ 1209.490784] ret_from_fork+0x35/0x40