[<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