Bug 211497
Summary: | mwifiex - missing usb ID/support for 88W8786U (1286:203c) in mwifiex_usb | ||
---|---|---|---|
Product: | Networking | Reporter: | mwifiex88w8786u (mwifiex88w8786u) |
Component: | Wireless | Assignee: | networking_wireless (networking_wireless) |
Status: | NEW --- | ||
Severity: | blocking | CC: | justincase |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.9 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
mwifiex88w8786u
2021-01-31 11:34:05 UTC
To fix all the unclear parts(thanks to PaulFertser in IRC to mention that my bugreport is not fully clear): I tried it on a second, completely different linux distro with kernel 5.4: How i tested it: 1. Boot up live linux iso 2. sudo modprobe mwifiex_usb 3. sudo bash -c "echo 1286 203c > /sys/bus/usb/drivers/mwifiex_usb/new_id" Then i attached the usb device. The complete relevant output looks like this: [ 4861.417536] usbcore: registered new interface driver mwifiex_usb [ 4885.702458] usb 2-1.2: new high-speed USB device number 5 using ehci-pci [ 4885.813859] usb 2-1.2: New USB device found, idVendor=1286, idProduct=203c, bcdDevice=31.14 [ 4885.813867] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 4885.813871] usb 2-1.2: Product: Marvell Wireless Device [ 4885.813874] usb 2-1.2: Manufacturer: Marvell [ 4885.813878] usb 2-1.2: SerialNumber: 0000000000000000 [ 4885.818701] mwifiex_usb: unknown id_product 0x203c [ 4885.848597] usb 2-1.2: start to download FW... [ 4887.286318] usb 2-1.2: info: FW download over, size 553940 bytes [ 4887.286328] usb 2-1.2: info: _mwifiex_fw_dpc: unregister device Because the Marvell own developers have not added anything new to the mwifiex driver since 2018 https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/log/drivers/net/wireless/marvell/mwifiex/usb.c thanks to PaulFertser this is the things i have to be done next: 1. Get a windows machine to install the windows driver on it 2. Read out the PID for the wifi device 3. Add the PID for the wifi device to the usb.c file from the mwifiex driver 4. Build a new mwifiex driver module and test that out if its working 5. When its working i have to ask again how to create a commit for this driver side note: This additional work with building a custom driver module is required, because at the mwifiex driver it is not enough to just add the missing usb id to usb_id like i did. There seems to be no ability to add such a required PID to the linux driver without building it with the modified usb.c file. This is also a important information from PaulFertser for this driver that should not be lost: Quote: btw, that line in the wiki (https://wikidevi.wi-cat.ru/Mwifiex) saying your device is equivalent to 8797 might be untrue. Reading the code suggests me unknown devices added via new_id are treated in the same way 8797 is, and since it doesn't work probably your device is just different enough. On https://unix.stackexchange.com/q/683559 there is also a few of us trying to sort out this issue. Can anyone explain how you got step 1 to succeed? 1. Get a windows machine to install the windows driver on it Both a W7 standard installation and a W10 virtual machine were unable to find the appropriate drivers for the device. Though it is properly recognized at the hardware level (brought to 3.3V with an LM317) it seems impossible to get any further. |