Hi, I have this wifi device with on-board storage for the Windows driver: New USB device found, idVendor=148f, idProduct=2878, bcdDevice= 0.01 After switching to wifi mode, we can see it's a MT7601U: New USB device found, idVendor=148f, idProduct=7601, bcdDevice= 0.00 The problem with this one is that it can't be mounted, nothing happens for a long time. I'm testing with kernel 6.12.8-arch1-1 but it's been like this for at least two years. The problem seems to be that reading from the "end" of the device takes 17 seconds. I assume the reason for that is the fake capacity: SCSI Payload (Read Capacity(10) Response Data) [LUN: 0x0000] [Command Set:CD-ROM (0x05) ] [MMC Opcode: Read Capacity(10) (0x25)] [Request in: 212] [Response in: 217] LBA: 65280 Block size in bytes: 2048 Read capacity: 133693440 bytes (127.50 MiB) The real capacity is probably just 8 MiB. The driver files stored in it are ~7 MiB total. This takes 17 seconds and returns 4096 bytes filled with 0xff: SCSI CDB Read(10) [LUN: 0x0000] [Command Set:CD-ROM (0x05) ] [Response in: 565] Opcode: Read(10) (0x28) Flags: 0x00 Logical Block Address (LBA): 0x0000fefc (65276) ...0 0000 = Group: 0x00 Transfer Length: 2 Control: 0x00 Windows never tries to read that far. (The device works in Windows.) How can this be fixed? usb_modeswitch can switch it to wifi mode, so it's not a huge problem. I'm just curious.
Attachment:
mt7601u-linux.pcapng
Description: application/pcapng
Attachment:
mt7601u-windows.pcapng
Description: application/pcapng