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:  Bcast:  Mask:
          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         UG    0      0        0 inm0   U     0      0        0 usb0   U     0      0        0 uap0   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 brd
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
    Should your title be "not working"? I suspect an edit is in order... – roaima Sep 25 at 15:59

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.