lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8e9066d4-1b04-4423-869d-2bac0a3385a2@gmail.com>
Date: Thu, 14 Aug 2025 08:57:16 +0700
From: Lars Melin <larsm17@...il.com>
To: Zenm Chen <zenmchen@...il.com>, stern@...land.harvard.edu
Cc: gregkh@...uxfoundation.org, linux-kernel@...r.kernel.org,
 linux-usb@...r.kernel.org, pkshih@...ltek.com, rtl8821cerfe2@...il.com,
 stable@...r.kernel.org, usb-storage@...ts.one-eyed-alien.net,
 usbwifi2024@...il.com
Subject: Re: [PATCH] USB: storage: Ignore driver CD mode for Realtek
 multi-mode Wi-Fi dongles

On 2025-08-14 05:54, Zenm Chen wrote:
> Alan Stern <stern@...land.harvard.edu> 於 2025年8月14日 週四 上午2:19寫道:
>>
>> On Thu, Aug 14, 2025 at 01:53:12AM +0800, Zenm Chen wrote:
>>> Alan Stern <stern@...land.harvard.edu> 於 2025年8月14日 週四 上午12:58寫道:
>>>>
>>>> On Thu, Aug 14, 2025 at 12:24:15AM +0800, Zenm Chen wrote:
>>>>> Many Realtek USB Wi-Fi dongles released in recent years have two modes:
>>>>> one is driver CD mode which has Windows driver onboard, another one is
>>>>> Wi-Fi mode. Add the US_FL_IGNORE_DEVICE quirk for these multi-mode devices.
>>>>> Otherwise, usb_modeswitch may fail to switch them to Wi-Fi mode.
>>>>
>>>> There are several other entries like this already in the unusual_devs.h
>>>> file.  But I wonder if we really still need them.  Shouldn't the
>>>> usb_modeswitch program be smart enough by now to know how to handle
>>>> these things?
>>>
>>> Hi Alan,
>>>
>>> Thanks for your review and reply.
>>>
>>> Without this patch applied, usb_modeswitch cannot switch my Mercury MW310UH
>>> into Wi-Fi mode [1].
>>
>> Don't post a link to a video; it's not very helpful.  Instead, copy the
>> output from the usb_modeswitch program and include it in an email
>> message.
> 
> Sorry about that.
> 
>>
>>> I also ran into a similar problem like [2] with D-Link
>>> AX9U, so I believe this patch is needed.
>>
>> Maybe it is and maybe not.  It depends on where the underlying problem
>> is.  If the problem is in the device then yes, the patch probably is
>> needed.  But if the problem is in usb_modeswitch then the patch probably
>> is not needed.
>>
>>>> In theory, someone might want to access the Windows driver on the
>>>> emulated CD.  With this quirk, they wouldn't be able to.
>>>>
>>>
>>> Actually an emulated CD doesn't appear when I insert these 2 Wi-Fi dongles into
>>> my Linux PC, so users cannot access that Windows driver even if this patch is not
>>> applied.
>>
>> What does happen when you insert the WiFi dongle?  That is, what
>> messages appear in the dmesg log?
> 
> OS: Arch Linux
> Kernel version: 6.15.9-arch1-1
> 
> These are the messages shown in the kernel log when the dongles were inserted.
> 
> Mercury MW310UH:
> [ 4405.000985] usb 3-2: new high-speed USB device number 31 using ehci-pci
> [ 4405.126736] usb 3-2: New USB device found, idVendor=0bda, idProduct=a192, bcdDevice= 2.00
> [ 4405.126750] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [ 4405.126756] usb 3-2: Product: DISK
> [ 4405.126760] usb 3-2: Manufacturer: Realtek
> [ 4405.127200] usb-storage 3-2:1.0: USB Mass Storage device detected
> [ 4405.127632] scsi host8: usb-storage 3-2:1.0
> [ 4406.155867] scsi 8:0:0:0: CD-ROM            Realtek  USB Disk autorun 1.00 PQ: 0 ANSI: 0 CCS
> [ 4406.164982] sr 8:0:0:0: [sr0] scsi-1 drive
> [ 4406.169602] sr 8:0:0:0: [sr0] Hmm, seems the drive doesn't support multisession CD's
> [ 4406.282981] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4406.530027] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4406.776991] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4407.023992] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4407.263927] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4407.510987] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4407.757988] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4408.004967] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4408.244989] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4408.491971] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4408.738973] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4408.985967] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4409.225847] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4409.473012] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4409.719978] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4409.966958] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4410.206962] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4410.453952] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4410.700965] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4410.947959] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4411.187950] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4411.434956] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4411.681959] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4411.928970] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4412.054904] sr 8:0:0:0: Attached scsi CD-ROM sr0
> [ 4412.055122] sr 8:0:0:0: Attached scsi generic sg3 type 5
> [ 4412.168955] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4412.416956] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4412.663960] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4412.910947] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4413.150951] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4413.397994] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4413.645959] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4413.892990] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4414.133942] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4414.380798] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4414.621191] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4414.867934] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4415.117949] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4415.364797] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> 
> ... Countless "usb 3-2: reset high-speed USB device number 31 using ehci-pci" appearred here.
> 
> [ 4854.437661] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4854.684646] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4856.951643] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4857.198641] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4857.445642] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4857.692644] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4859.959629] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4860.207512] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4860.454675] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4860.701628] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4862.968616] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4863.215613] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4863.462670] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4863.709608] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4865.975479] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4866.224610] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4866.471590] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4866.718605] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4868.983453] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4869.230624] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4869.477582] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> [ 4869.724579] usb 3-2: reset high-speed USB device number 31 using ehci-pci
> 
> 
> 
> D-Link AX9U:
> [ 6400.069566] usb 3-2: new high-speed USB device number 38 using ehci-pci
> [ 6400.195236] usb 3-2: New USB device found, idVendor=0bda, idProduct=1a2b, bcdDevice= 0.00
> [ 6400.195250] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [ 6400.195256] usb 3-2: Product: DISK
> [ 6400.195261] usb 3-2: Manufacturer: Realtek
> [ 6400.197475] usb-storage 3-2:1.0: USB Mass Storage device detected
> [ 6400.197768] scsi host8: usb-storage 3-2:1.0
> [ 6401.481648] scsi 8:0:0:0: CD-ROM            RTK      Driver Storage   2.04 PQ: 0 ANSI: 0 CCS
> [ 6401.483955] sr 8:0:0:0: [sr0] scsi3-mmc drive: 0x/0x caddy
> [ 6401.487626] sr 8:0:0:0: Attached scsi CD-ROM sr0
> [ 6401.487828] sr 8:0:0:0: Attached scsi generic sg3 type 5
> [ 6432.007456] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6462.723317] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6493.447105] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6524.163962] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6554.882745] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6565.190684] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6595.846508] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6626.562333] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6657.283170] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6688.002984] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6718.721814] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6749.445506] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6759.549662] INFO: task (udev-worker):2838 blocked for more than 122 seconds.
> [ 6759.549677]       Not tainted 6.15.9-arch1-1 #1
> [ 6759.549682] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 6759.549685] task:(udev-worker)   state:D stack:0     pid:2838  tgid:2838  ppid:329    task_flags:0x400140 flags:0x00004002
> [ 6759.549697] Call Trace:
> [ 6759.549701]  <TASK>
> [ 6759.549709]  __schedule+0x409/0x1330
> [ 6759.549727]  schedule+0x27/0xd0
> [ 6759.549735]  schedule_preempt_disabled+0x15/0x30
> [ 6759.549743]  __mutex_lock.constprop.0+0x481/0x880
> [ 6759.549754]  ? __pfx_blkdev_open+0x10/0x10
> [ 6759.549763]  bdev_open+0x2a0/0x3d0
> [ 6759.549771]  ? __pfx_blkdev_open+0x10/0x10
> [ 6759.549777]  blkdev_open+0xa5/0x100
> [ 6759.549785]  do_dentry_open+0x170/0x5d0
> [ 6759.549794]  vfs_open+0x30/0x100
> [ 6759.549804]  path_openat+0x717/0x1300
> [ 6759.549813]  ? path_openat+0x98c/0x1300
> [ 6759.549821]  do_filp_open+0xd8/0x180
> [ 6759.549834]  do_sys_openat2+0x88/0xe0
> [ 6759.549841]  __x64_sys_openat+0x61/0xa0
> [ 6759.549847]  do_syscall_64+0x7b/0x810
> [ 6759.549856]  ? do_syscall_64+0x87/0x810
> [ 6759.549863]  ? do_syscall_64+0x87/0x810
> [ 6759.549869]  ? set_pte_range+0xe2/0x200
> [ 6759.549879]  ? set_ptes.isra.0+0x36/0x80
> [ 6759.549886]  ? finish_fault+0x22f/0x460
> [ 6759.549895]  ? do_fault+0x3a7/0x5b0
> [ 6759.549903]  ? ___pte_offset_map+0x1b/0x180
> [ 6759.549912]  ? __handle_mm_fault+0x7de/0xfd0
> [ 6759.549918]  ? do_epoll_ctl+0xa80/0xdd0
> [ 6759.549926]  ? __count_memcg_events+0xb0/0x150
> [ 6759.549934]  ? count_memcg_events.constprop.0+0x1a/0x30
> [ 6759.549941]  ? handle_mm_fault+0x1d2/0x2d0
> [ 6759.549948]  ? do_user_addr_fault+0x181/0x690
> [ 6759.549957]  ? irqentry_exit_to_user_mode+0x2c/0x1b0
> [ 6759.549966]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 6759.549974] RIP: 0033:0x7fc19fe931ce
> [ 6759.549995] RSP: 002b:00007ffe87a741b0 EFLAGS: 00000202 ORIG_RAX: 0000000000000101
> [ 6759.550003] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc19fe931ce
> [ 6759.550008] RDX: 0000000000080900 RSI: 00007ffe87a74270 RDI: ffffffffffffff9c
> [ 6759.550012] RBP: 00007ffe87a741c0 R08: 0000000000000000 R09: 0000000000000000
> [ 6759.550017] R10: 0000000000000000 R11: 0000000000000202 R12: 000055eaf18c4470
> [ 6759.550021] R13: 00007ffe87a74500 R14: 0000000000080900 R15: 0000000000000015
> [ 6759.550030]  </TASK>
> [ 6759.550054] INFO: task (udev-worker):2838 is blocked on a mutex likely owned by task udisksd:706.
> [ 6759.550059] task:udisksd         state:D stack:0     pid:706   tgid:706   ppid:1      task_flags:0x400100 flags:0x00004002
> [ 6759.550068] Call Trace:
> [ 6759.550071]  <TASK>
> [ 6759.550075]  __schedule+0x409/0x1330
> [ 6759.550084]  ? lock_timer_base+0x70/0x90
> [ 6759.550094]  schedule+0x27/0xd0
> [ 6759.550101]  schedule_timeout+0x83/0x100
> [ 6759.550109]  ? __pfx_process_timeout+0x10/0x10
> [ 6759.550117]  io_schedule_timeout+0x5b/0x90
> [ 6759.550124]  wait_for_completion_io_timeout+0x7f/0x1a0
> [ 6759.550134]  blk_execute_rq+0xee/0x170
> [ 6759.550145]  scsi_execute_cmd+0x100/0x420
> [ 6759.550157]  scsi_test_unit_ready+0x6f/0xf0
> [ 6759.550172]  sr_drive_status+0x57/0x120 [sr_mod de25504f195c3fb7b76d163270dae636af6d4152]
> [ 6759.550187]  cdrom_open+0xd4/0xab0 [cdrom ff26b01442b014534657abb98fa7fb688822fb56]
> [ 6759.550208]  ? __disk_unblock_events+0x26/0xc0
> [ 6759.550219]  ? disk_check_media_change+0x96/0xe0
> [ 6759.550229]  sr_block_open+0x71/0x110 [sr_mod de25504f195c3fb7b76d163270dae636af6d4152]
> [ 6759.550239]  ? __pfx_blkdev_open+0x10/0x10
> [ 6759.550246]  blkdev_get_whole+0x2c/0xe0
> [ 6759.550253]  ? __pfx_blkdev_open+0x10/0x10
> [ 6759.550259]  bdev_open+0x201/0x3d0
> [ 6759.550266]  ? __pfx_blkdev_open+0x10/0x10
> [ 6759.550272]  blkdev_open+0xa5/0x100
> [ 6759.550279]  do_dentry_open+0x170/0x5d0
> [ 6759.550287]  vfs_open+0x30/0x100
> [ 6759.550296]  path_openat+0x717/0x1300
> [ 6759.550304]  ? __memcg_slab_free_hook+0xf7/0x140
> [ 6759.550312]  do_filp_open+0xd8/0x180
> [ 6759.550325]  do_sys_openat2+0x88/0xe0
> [ 6759.550386]  __x64_sys_openat+0x61/0xa0
> [ 6759.550397]  do_syscall_64+0x7b/0x810
> [ 6759.550406]  ? vfs_read+0x2af/0x390
> [ 6759.550419]  ? ksys_read+0xa8/0xe0
> [ 6759.550429]  ? syscall_exit_to_user_mode+0x37/0x1c0
> [ 6759.550439]  ? do_syscall_64+0x87/0x810
> [ 6759.550448]  ? irqentry_exit_to_user_mode+0x2c/0x1b0
> [ 6759.550458]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 6759.550466] RIP: 0033:0x7f3ced89f042
> [ 6759.550479] RSP: 002b:00007fff0e8d04f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
> [ 6759.550488] RAX: ffffffffffffffda RBX: 0000562237bedca0 RCX: 00007f3ced89f042
> [ 6759.550494] RDX: 0000000000000000 RSI: 0000562237bbc6e0 RDI: ffffffffffffff9c
> [ 6759.550499] RBP: 00007fff0e8d0520 R08: 0000000000000000 R09: 0000000000000000
> [ 6759.550504] R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff0e8d0650
> [ 6759.550509] R13: 00007fff0e8d0654 R14: 0000562237bf1b80 R15: 0000562237bb0fe0
> [ 6759.550520]  </TASK>
> [ 6780.163423] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6787.459425] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6797.765312] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6828.289146] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6859.013081] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6889.732859] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6900.036820] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6930.692665] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6961.412477] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 6992.132215] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 7022.852189] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> [ 7030.145050] usb 3-2: reset high-speed USB device number 38 using ehci-pci
> 
> 
> When trying to mount these two Wi-Fi dongles' driver CD, I got this error.
> $ sudo mount /dev/sr0 /mnt/tmp
> mount: /mnt/tmp: fsconfig() failed: /dev/sr0: Can't open blockdev.
>         dmesg(1) may have more information after failed mount system call.
> 
> 
> usb_modeswitch can switch D-Link AX9U into Wi-Fi mode successfully, but it took a
> very long time (about 40 seconds).
> 
> $ lsusb
> Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 001 Device 002: ID 0bda:5852 Realtek Semiconductor Corp. Bluetooth Radio
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 002: ID 2717:4106 Xiaomi Inc. MediaTek MT7601U [MI WiFi]
> Bus 003 Device 035: ID 0bda:1a2b Realtek Semiconductor Corp. RTL8188GU 802.11n WLAN Adapter (Driver CDROM Mode)
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 002: ID 046d:c077 Logitech, Inc. Mouse
> Bus 004 Device 003: ID 05af:1023 Jing-Mold Enterprise Co., Ltd Ghost Key Elimiantion Keyboard
> Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> 
> $ sudo  usb_modeswitch -v 0bda -p 1a2b -KW
> Take all parameters from the command line
> 
> 
>   * usb_modeswitch: handle USB devices with multiple modes
>   * Version 2.6.2 (C) Josua Dietze 2017
>   * Based on libusb1/libusbx
> 
>   ! PLEASE REPORT NEW CONFIGURATIONS !
> 
> DefaultVendor=  0x0bda
> DefaultProduct= 0x1a2b
> 
> StandardEject=1
> 
> Look for default devices ...
>    found USB ID 2717:4106
>    found USB ID 0bda:1a2b
>     vendor ID matched
>     product ID matched
>    found USB ID 1d6b:0002
>    found USB ID 05af:1023
>    found USB ID 046d:c077
>    found USB ID 1d6b:0001
>    found USB ID 1d6b:0002
>    found USB ID 0bda:5852
>     vendor ID matched
>    found USB ID 1d6b:0001
>    found USB ID 1d6b:0003
>    found USB ID 1d6b:0002
>    found USB ID 1d6b:0003
>    found USB ID 1d6b:0002
>   Found devices in default mode (1)
> Access device 035 on bus 003
> Get the current device configuration ...
> Current configuration number is 1
> Use interface number 0
>   with class 8
> Use endpoints 0x05 (out) and 0x84 (in)
> 
> USB description data (for identification)
> -------------------------
> Manufacturer: Realtek
>       Product: DISK
>    Serial No.: not provided
> -------------------------
> Sending standard EJECT sequence
> Looking for active drivers ...
>   OK, driver detached
> Set up interface 0
> Use endpoint 0x05 for message sending ...
> Trying to send message 1 to endpoint 0x05 ...
>   Sending the message returned error -7. Try to continue
> Read the response to message 1 (CSW) ...
>   Response successfully read (13 bytes), status 1
> Trying to send message 2 to endpoint 0x05 ...
>   OK, message successfully sent
> Read the response to message 2 (CSW) ...
>   Response successfully read (13 bytes), status 0
> Trying to send message 3 to endpoint 0x05 ...
> libusb: error [submit_bulk_transfer] submiturb failed, errno=113
>   Sending the message returned error -1. Try to continue
> Read the response to message 3 (CSW) ...
>   Device seems to have vanished after reading. Good.
>   Device is gone, skip any further commands
> -> Run lsusb to note any changes. Bye!
> 
> $ lsusb
> Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 001 Device 002: ID 0bda:5852 Realtek Semiconductor Corp. Bluetooth Radio
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 002: ID 2717:4106 Xiaomi Inc. MediaTek MT7601U [MI WiFi]
> Bus 003 Device 036: ID 2001:332a D-Link Corp. 802.11ax WLAN Adapter
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 002: ID 046d:c077 Logitech, Inc. Mouse
> Bus 004 Device 003: ID 05af:1023 Jing-Mold Enterprise Co., Ltd Ghost Key Elimiantion Keyboard
> Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> 
> 
> On the other side, Mercury MW310UH cannot be switched successfully.
> 
> $ sudo  usb_modeswitch -v 0bda -p a192 -KW
> Take all parameters from the command line
> 
> 
>   * usb_modeswitch: handle USB devices with multiple modes
>   * Version 2.6.2 (C) Josua Dietze 2017
>   * Based on libusb1/libusbx
> 
>   ! PLEASE REPORT NEW CONFIGURATIONS !
> 
> DefaultVendor=  0x0bda
> DefaultProduct= 0xa192
> 
> StandardEject=1
> 
> Look for default devices ...
>    found USB ID 2717:4106
>    found USB ID 0bda:a192
>     vendor ID matched
>     product ID matched
>    found USB ID 1d6b:0002
>    found USB ID 05af:1023
>    found USB ID 046d:c077
>    found USB ID 1d6b:0001
>    found USB ID 1d6b:0002
>    found USB ID 0bda:5852
>     vendor ID matched
>    found USB ID 1d6b:0001
>    found USB ID 1d6b:0003
>    found USB ID 1d6b:0002
>    found USB ID 1d6b:0003
>    found USB ID 1d6b:0002
>   Found devices in default mode (1)
> Access device 033 on bus 003
> Get the current device configuration ...
> Current configuration number is 1
> Use interface number 0
>   with class 8
> Use endpoints 0x0b (out) and 0x8a (in)
> 
> USB description data (for identification)
> -------------------------
> Manufacturer: Realtek
>       Product: DISK
>    Serial No.: not provided
> -------------------------
> Sending standard EJECT sequence
> Looking for active drivers ...
>   OK, driver detached
> Set up interface 0
> Use endpoint 0x0b for message sending ...
> Trying to send message 1 to endpoint 0x0b ...
>   OK, message successfully sent
> Read the response to message 1 (CSW) ...
>   Response reading failed (error -8)
>   Device is gone, skip any further commands
> -> Run lsusb to note any changes. Bye!
> 
> $ lsusb
> Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 001 Device 002: ID 0bda:5852 Realtek Semiconductor Corp. Bluetooth Radio
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 002: ID 2717:4106 Xiaomi Inc. MediaTek MT7601U [MI WiFi]
> Bus 003 Device 033: ID 0bda:a192 Realtek Semiconductor Corp. DISK
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 002: ID 046d:c077 Logitech, Inc. Mouse
> Bus 004 Device 003: ID 05af:1023 Jing-Mold Enterprise Co., Ltd Ghost Key Elimiantion Keyboard
> Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> 
>>
>> Also, can you collect a usbmon trace showing what happens when the
>> dongle is plugged in?
> 
> I am not familiar with this, but I will try these days, thank you!
> 
>>
>> Alan Stern
> 

Hi Zenm,

0bda:1a2b
It is a USB Id supported by usb-modeswitch, I suspect that you would not 
had got all the error messages for the device if you had let 
usb-modeswitch access the device early (through udev) before the linux 
storage driver tried to access it. The long time to switch when running 
usb-modeswitch manually is likely also caused by clashes with 
communication by the storage driver.

0bda:a192
This USB Id is not yet supported by usb-modeswitch and it probably has a 
different method than ejecting the virtual CD drive, the failure to 
switch it when manually running usb-modeswitch is an indication of that.
If you are a representative of Realtek or if you know how to switch the 
device then contact the usb-modeswitch maintainer (Joshua Dietze) and 
ask him to add switch support for it.

thanks
Lars


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ