Code Monkey home page Code Monkey logo

Comments (3)

erstrom avatar erstrom commented on July 21, 2024

The status of the current ath10k sdio implementation is more or less exactly what you have experienced.
Scanning for AP's work but it is not possible to connect to any AP.

Below is an extract from a cover letter I wrote in one of my previous RFC's (http://lists.infradead.org/pipermail/ath10k/2017-February/009303.html):

Current status

The sdio and usb HIF layers seem to work fine. I am able to download fw,
connect WMI and HTT services and so on.

I have been running it for a while now and so far I have not encountered
any major issues.

The biggest issue right now is that the board setup of high latency devices
is very different in qcacld than for ath10k. I have a working qcacld
system on a 4.1 kernel that I am using a as a reference. I am basically
diffing the bus traffic between qcacld and ath10k to see what the
differences are and then try to incorporate the missing stuff in ath10k.
Some WMI messages used by qcacld are not present in ath10k, and a few
others are different.

An example is the WMI init message:

From qcacld:

[539.662779]    WMI msg id:      1,  WMI_INIT_CMDID
WmiTlvInitCmd:
  TlvHeader:
    length: 0x1c
    tag: 0x4a (WMI_TLV_TAG_STRUCT_INIT_CMD)
  WmiTlvAbiVersion:
    abi_ver0: 0x1000000
    abi_ver1: 0xa8                                    <- DIFFERENT
    abi_ver_ns0: 0x5f414351
    abi_ver_ns1: 0x4c4d
    abi_ver_ns2: 0x0
    abi_ver_ns3: 0x0
  num_host_mem_chunks: 0x0
WmiTlvResourceConfig:
  TlvHeader:
    length: 0xac                                      <- DIFFERENT
    tag: 0x4b (WMI_TLV_TAG_STRUCT_RESOURCE_CONFIG)
    ...

From ath10k:

[51.312300]     WMI msg id:      1,  WMI_INIT_CMDID
WmiTlvInitCmd:
  TlvHeader:
    length: 0x1c
    tag: 0x4a (WMI_TLV_TAG_STRUCT_INIT_CMD)
  WmiTlvAbiVersion:
    abi_ver0: 0x1000000
    abi_ver1: 0x35                                    <- DIFFERENT
    abi_ver_ns0: 0x5f414351
    abi_ver_ns1: 0x4c4d
    abi_ver_ns2: 0x0
    abi_ver_ns3: 0x0
  num_host_mem_chunks: 0x0
WmiTlvResourceConfig:
  TlvHeader:
    length: 0x9c                                      <- DIFFERENT
    tag: 0x4b (WMI_TLV_TAG_STRUCT_RESOURCE_CONFIG)
    ...

Notice the difference in abi_ver1 and the WmiTlvResourceConfig length.
Apparently qcacld uses a newer version of the wmi tlv protocol.
I get the feeling that the high latency devices are intended to be used
with a newer WMI protocol version than ath10k supports.

The usb firmware seems to be more capable of handling the older wmi format
than the sdio firmware (I am able to connect to my AP and lease an IP
address with the usb device but not with the sdio device using exactly the
same setup)

I think these issues will have to be addressed in a future patch series.

Not that much has change since I submitted the RFC. I haven't had any time to do that much debugging and I am still hoping more developers could join in trying to hunt down the remaining issues.

Below are some dmesg logs I collected that shows the problem. Most likely you are experiencing a similar behaviour.

[ 1368.134744] ath10k_sdio mmc0:0001:1: WARNING: ath10k SDIO support is incomplete, don't expect anything to work!
[ 1368.253306] ath10k_sdio mmc0:0001:1: qca9377 hw1.1 sdio target 0x05020001 chip_id 0x00000000 sub 0000:0000
[ 1368.253309] ath10k_sdio mmc0:0001:1: kconfig debug 1 debugfs 1 tracing 0 dfs 0 testmode 0
[ 1368.253889] ath10k_sdio mmc0:0001:1: firmware ver  api 5 features ignore-otp crc32 63c343ec
[ 1368.471508] ath10k_sdio mmc0:0001:1: failed to fetch board data for bus=sdio,vendor=0271,device=0701,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9377/hw1.0/board-2.bin
[ 1368.484378] ath10k_sdio mmc0:0001:1: board_file api 1 bmi_id N/A crc32 b2024a9c
[ 1369.591796] ath: EEPROM regdomain: 0x0
[ 1369.591800] ath: EEPROM indicates default country code should be used
[ 1369.591802] ath: doing EEPROM country->regdmn map search
[ 1369.591807] ath: country maps to regdmn code: 0x3a
[ 1369.591809] ath: Country alpha2 being used: US
[ 1369.591812] ath: Regpair used: 0x3a
[ 1402.778427] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 1405.802194] wlan0: authenticate with 00:25:9c:13:8f:ee
[ 1405.827510] wlan0: send auth to 00:25:9c:13:8f:ee (try 1/3)
[ 1406.344556] wlan0: send auth to 00:25:9c:13:8f:ee (try 2/3)
[ 1407.357947] wlan0: send auth to 00:25:9c:13:8f:ee (try 3/3)
[ 1408.344589] wlan0: authentication with 00:25:9c:13:8f:ee timed out
[ 1411.464746] ath10k_sdio mmc0:0001:1: failed to delete peer 00:25:9c:13:8f:ee for vdev 0: -110

--
Erik

from linux-ath.

vemulaganga avatar vemulaganga commented on July 21, 2024

Thanks for the information, will check on wmi format.

Regards,
Ganga Vemula

from linux-ath.

erstrom avatar erstrom commented on July 21, 2024

Current SDIO status

From ath-201709250721-ath10k-high-latency-silex-sdio and onwards SDIO is working fairly well.

The -silex-sdio branches contain the patches from Alagu Sankar that fixes the missing pieces. The master contains these patches as well.

from linux-ath.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.