To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Activity
Sort or filter
Newest first
Oldest first
Show all activity
Show comments only
Show history only
Administratorchanged title from META: Get Wi-Fi to work on ICNSS devices (Redmi Note 7) to META: Get Wi-Fi to work on ICNSS devices (such as Redmi Note 7)·
Imported
changed title from META: Get Wi-Fi to work on ICNSS devices (Redmi Note 7) to META: Get Wi-Fi to work on ICNSS devices (such as Redmi Note 7)
I think the soultion could be to reimplement what cnss-daemon does (create qmi service, send some commands to driver) The format of those commands is documented in the files you linked above (like wlan_firmware_service_v01). I think I already posted all my thoughts about this somewhere in #main? or was is #postmarketos-in-russisan.. anyway, take a look at the receiver event loop in function icnss_driver_event_work. You need to emulate all those qmi events/messages in some sequence (put debug prints there in downstream kernel and record the sequence) and then reproduce it. I used existing debugfs file for that, added one extra command that it accepts (see this commit temp wlan debug ). I made one very silly mistake there, fix it and probably wifi will already work. Or think of something else more clever, I dunno...
Copy FileRepository\qcsubsys8998.inf_arm64_09c39c1cc604f5ac\WLANMDSP.MBN to the same directory the modem fw lives (ie /lib/firmware/qcom/LENOVO/81F1) as wlanmdsp.mbn
mkdir bdf (just need to exist temporary)
Copy FileRepository\qcsubsys8998.inf_arm64_09c39c1cc604f5ac\bdwlan* to bdf/
Enable "single-chan-info-per-channel" to suppresss "chan info event"
warning with qca-swiss-army-knife/tools/scripts/ath10k/ath10k-fwencoder --modify --features=wowlan,mgmt-tx-by-ref,non-bmi,single-chan-info-per-channel firmware-5.bin
= IPQ8074 WiFi driverIn many Qualcomm SoC the WiFi solution is split between an in-SoC corethat does protocol handling and an off-chip RF module. The communicationof control messages with the protocol core is done over shared memorytransports (SMD or GLINK) and has in the past (WCN3620, 3660 and 3680)been done with packed structs. In the latest incarnation this isreplaced by QMI-encoded messages.
Administratorchanged title from META: Get Wi-Fi to work on ICNSS devices (such as Redmi Note 7) to META: Get Wi-Fi to work on wcn399x (ICNSS) devices (such as Redmi Note 7)·
Imported
changed title from META: Get Wi-Fi to work on ICNSS devices (such as Redmi Note 7) to META: Get Wi-Fi to work on wcn399x (ICNSS) devices (such as Redmi Note 7)
xiaomi-willow:~# nmcli general statusSTATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN connected full enabled enabled enabled enabled
Quick brain dump:
First I tried patching the andersson projects for minor sysfs differences (Didn't need either of the LD_PRELOADS on 4.14, near-mainline APIs) and with qrtr-ns, pd-mapper, rmtfs and tqftpserver I was able to kick the modem (echo 1 >/dev/subsys_modem twice) into pulling its firmware from tqftpserver, but it seemed like it would shut down immediately. IPA was fine loading its fw from udev (echo 1 >/dev/ipa), but I never got echo ON >/dev/wlan to work, always timed out. qrtr-lookup never showed ATH10K FW either.
Now that I have it working end-to-end, I'll probably start stracing the QMI calls and adding printks to try and figure out why it didn't like mine. I would really be interested to see a block diagram, because I'm annoyed nothing ever worked without IPA. It seems somewhat straightforward to drop ath10k_snoc into our downstream trees but I'm not sure how solid the upstream IPA driver is.