Open traud opened 5 years ago
The dev_id
is 0x9378. I had to copy over the patch for SparkLAN. I was not able to find that patch here in this GitHub repository. Are those two branches out of sync, should I go for that branch instead, or is there a branch here which I missed?
Well, it seems that another manufacturer is using this chip, so I'll a comment here if anybody stumbles upon the same problem: it is BLUE-BEAN-DVK, from 8devices. It uses QCA9377. Same story - without echoing vid and pid to /sys/bus/usb/drivers/ath10k_usb/new_id
the driver is not loaded (tested on kernel 5.3.7), altough after echoing dmesg spits out the same stuff about unsupported hardware version: 0x502001
. I'd love to see 0cf3:9378 included in mainline.
@traud Which branch from this repo did you use? I have not done any development/testing for ath10k USB for a while so my latest branches does not contain any of the not-yet-mainlined USB related patches (like the sparklan patch you mentioned). The proper way to add support for all USB QCA9377 based devices would be to:
Note that several different USB devices using the same chipset (QCA9377 in this case) will share the same firmware but use different board files. There will be a problem if two or more devices using the same chipset also has the same USB IDs. In this case these boards will have to share the same board data.
Which branch from this repo did you use?
None. I went for the branch and kernel version over there (and did the three steps you mention). It loaded. If I recall it correctly, I was even able to list SSIDs. However, when authenticating, the firmware freaked out. I tried to debug this but the data was overwhelming and it looked like a timing issue which does not make fun with no idea but just a debugger in the other hand.
I'm trying to use QCA9377 USB dongle from 8 devices. With this kernel https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git branch ath10k-pending-sdio-usb
. Builded with debug flags enabled:
.config
CONFIG_ATH10K=m
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
CONFIG_ATH10K_USB=m
CONFIG_ATH10K_DEBUG=y
CONFIG_ATH10K_DEBUGFS=y
After boot I get this error:
usb 3-2: Failed to find firmware-N.bin (N between 2 and 6) from ath10k/QCA9377/hw1.0: -2
usb 3-2: could not fetch firmware files (-2)
usb 3-2: could not probe fw (-2)
Which seems strange, because I have firmware files in this folder:
$ ls /lib/firmware/ath10k/QCA9377/hw1.0
board-2.bin
board.bin
firmware-6.bin
After enabling debuging option I found the right filenames:
$ modprobe ath10k_usb debug_mask=0xffffffff
$ dmesg
....
boot fw request 'ath10k/QCA9377/hw1.0/firmware-usb-6.bin': -2
usb 3-2: trying fw api 5
usb 3-2: boot fw request 'ath10k/QCA9377/hw1.0/firmware-usb-5.bin': -2
usb 3-2: trying fw api 4
usb 3-2: boot fw request 'ath10k/QCA9377/hw1.0/firmware-usb-4.bin': -2
usb 3-2: trying fw api 3
usb 3-2: boot fw request 'ath10k/QCA9377/hw1.0/firmware-usb-3.bin': -2
usb 3-2: trying fw api 2
usb 3-2: boot fw request 'ath10k/QCA9377/hw1.0/firmware-usb-2.bin': -2
Now we see, that it looking for another filename, so I renamed firmware-6.bin
to firmware-usb-6.bin
.
Here is what I get in dmesg
after:
Warning: ath10k USB support is incomplete, don't expect anything to work!
Hardware name qca9377 hw1.1 SparkLAN WPEQ-160ACN version 0x5020001
boot fw request 'ath10k/pre-cal-usb-3-2.bin': -2
boot fw request 'ath10k/cal-usb-3-2.bin': -2
boot fw request 'ath10k/QCA9377/hw1.0/firmware-usb-6.bin': 0
found fw version WLAN.TF.2.1-00021-QCARMSWP-1
qca9377 hw1.1 SparkLAN WPEQ-160ACN target 0x05020001 chip_id 0x00000000 sub 0000:0000
...
failed to fetch board data for bus=usb,vendor=0cf3,device=9378,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9377/hw1.0/board-2.bin
...
boot fw request 'ath10k/QCA9377/hw1.0/board-usb.bin': 0
I also rename board.bin
to board-usb.bin as they want. But after all I still get unusable driver.
8devices BLUE bean DVK
That is interesting. Thanks @zhovner and @kpochwala. 8devices seem to offer an USB driver themselves. As I am looking just for a driver, I am going to look into that.
@traud
8devices seem to offer an USB driver themselves.
Looking at the provided link, they offer you to use the Qualcomm's proprietary driver called "qcacld-2.0".
If you can live with using the proprietary driver go for it :)
I am in Ubuntu 18.10 and did not change its kernel (4.18). After inserting my USB dongle,
lsusb -t
shows me that no driver is attached. Then I removed the dongle and went for:Correct? Now, after re-inserting the dongle, I get:
I have not debugged it yet but looking at the code of
ath10k_init_hw_params(.)
, the error message might be wrong and actual cause isdev_id
not being 0x0042. Is there any easy way to check that? Can you give me a step-by-step guide for Ubuntu 18.04 LTS (Kernel 4.15) or Ubuntu 18.10 (Kernel 4.18)? Alternatively, I can go for another Linux. But I would welcome a concrete step-by-step guide how to use the code of this repository. Or should I report this issue upstream?