0

I am integrating a wifi module in a Yocto image I want to create an AP with it and forward the traffic from such interface but the connection is not working. I am able to see the interface running ifconfig.

uap0      Link encap:Ethernet  HWaddr cc:f9:57:e0:15:81  
          inet addr:192.168.33.1  Bcast:192.168.33.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

I am creating a wifi hotspot with this interface. I am able to see the wifi network with my cell phone and connect to it (all using static IP). To verify if the interface is working I am making pings from my yocto-machine to the cell phone. However I am getting no response.

I have setup a 3rd machine also connected to the wifi. This machine is sniffing the traffic in monitor mode with wireshark. However I do not see the ARP nor the ICMP packet leaving the wifi interface.

Routing tables seem fine:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.13.229.156   0.0.0.0         UG    0      0        0 inm0
192.168.32.0    0.0.0.0         255.255.255.0   U     0      0        0 usb0
192.168.33.0    0.0.0.0         255.255.255.0   U     0      0        0 uap0
192.168.201.0   0.0.0.0         255.255.255.0   U     0      0        0 usb0.1

However, the link seems to not be working. I can see that with ip link show the uap0 interface has NO-CARRIER

ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default 
    link/sit 0.0.0.0 brd 0.0.0.0
3: inm0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 00:49:4e:4d:30:00 brd ff:ff:ff:ff:ff:ff
4: inm1: <BROADCAST,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
...
...
15: usb0.4@usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
    link/ether d4:ca:6e:f2:00:01 brd ff:ff:ff:ff:ff:ff
16: mlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether cc:f9:57:e0:14:81 brd ff:ff:ff:ff:ff:ff
17: uap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether cc:f9:57:e0:15:81 brd ff:ff:ff:ff:ff:ff

Doing ifconfig uap0 down and then ifconfig uap0 up yields this error message.

root:$~ dmesg -wH
     +26.612727] IPv6: ADDRCONF(NETDEV_UP): uap0: link is not ready

Do you have any idea of why pings may not be working or what other test could I do to assess which part is not working properly?

Additional information which may be helpful:

ethtool -i uap0  
driver: wlan_sdio
version: 3.14.55-yocto-standard
firmware-version: N/A
bus-info: mmc1:0001:1
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
1
  • 1
    Should your title be "not working"? I suspect an edit is in order... Commented Sep 25, 2020 at 15:59

1 Answer 1

0

The reason for it not working was related to a change in speed of the SD/MMC clock.

The driver of the wifi module initially downloads the firmware at a certain speed. After the firmware has been downloaded the clock of the SD/MMC was increased to 200MHz. Due to hardware limitation this was causing the inconsistent communication with the module.

I changed the speed to 25MHz and it is now working.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .