Ben NanoNote Wi-Fi
From Qi-Hardware
This section shows the availability of Wi-Fi connectivity in Ben Nanonote.
Up to now, Ben Nanonote is able to use Wi-Fi devices based on the KS7010 Wi-Fi chip from KeyStream.
KeyStream was a small Japanese startup (about 30 people) focusing on mobile Wi-Fi chips, their first and only main product being the KS3021 RF chip and the KS7010 Wi-Fi baseband chip. They were acquired by Renesas in April 2009, and are now continuing as the KeyStream brand inside Renesas. The technology will probably appear in other Renesas chips in the future.
Known users of these chips are:
- Microsoft Zune 30, and probably other Zune models as well
- Spectec SDW-821 full-size SD (SDIO) Wi-Fi card
- Spectec SDW-823 microSD (SDIO) Wi-Fi card
- (note that all other Spectec Wi-Fi cards use MTK Wi-Fi chips without Linux drivers!)
In October 2009, Renesas released driver sources licensed under the GPL (version 007 for Linux 2.6.24), and a binary firmware (v0.2f), available at ks7010_sdio_v007.tar.bz2.
Contents |
Ben Nanonote Wi-Fi howto
- The original driver from KeyStream was a little bit modified in other to match with Ben Nanonote recent kernel (2.6.32.7).
- You can find this driver as stand-alone driver in the openwrt-xburst layout:
openwrt-xburst/package/ks7010/ |-- Makefile `-- src |-- Kconfig |-- Makefile |-- eap_packet.h |-- ks7010_config.c |-- ks7010_sdio.c |-- ks7010_sdio.h |-- ks_debug.c |-- ks_debug.h |-- ks_hostif.c |-- ks_hostif.h |-- ks_wlan.h |-- ks_wlan_ioctl.h |-- ks_wlan_net.c |-- michael_mic.c `-- michael_mic.h
- The tests reported were done with the Spectec SDW-823 microSD (SDIO) Wi-Fi card www.spectec.com.tw/sdw823.htm.
- You have to check the proper section in the openWrt menu in order to include this driver: Kernel modules -> Wireless Drivers -> kmod-ks7010
- You have to copy two files ks7010sd.rom and ks79xx.cfg from the original tarball in the Nanonote's "/lib/firmware" folder too.
ks7010_sdio_v007
|-- Firmware
| `-- ks7010sd.rom
`-- GPL
`-- Src
`-- sdio
`-- ks79xx.cfg
Features from vendor
- Wi-Fi modes
IEEE801.11b/g Infrastructure mode and ad-hoc mode WEP40/WEP104/WPA/WPA2 Linux Wireless extension 29
- Throughput
TCP Tx 15.3Mbps TCP Rx 19.2Mbps UDP Tx 12.6Mbps UDP Rx 14.9Mbps
- Set up the correct WPA supplicant file to match with the AP:
root@BenNanoNote:~# cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="kernel-labs"
bssid=00:19:15:4f:f5:d6
scan_ssid=1
key_mgmt=WPA-PSK
psk="mypassworkd"
}
- Check if the ks7010 is working fine:
root@BenNanoNote:~# iwconfig
lo no wireless extensions.
usb0 no wireless extensions.
eth0 IEEE 802.11b/g ESSID:"default"
Mode:Managed Frequency:2.457 GHz Access Point: Not-Associated
Bit Rate:11 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/100 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
- Raise the wpa_supplicant command:
root@BenNanoNote:~# wpa_supplicant -Dwext -ieth0 -d -c /etc/wpa_supplicant/wpa_supplicant.conf
- Get the IP and surf!:
root@BenNanoNote:~# udhcpc eth0 udhcpc (v1.14.4) started Sending discover... Sending select for 192.168.0.53... Lease of 192.168.0.53 obtained, lease time 86400 udhcpc: ifconfig eth0 192.168.0.53 netmask 255.255.255.0 broadcast + udhcpc: setting default routers: 192.168.0.1 udhcpc: setting dns servers: 80.58.61.250 80.58.61.254 ... root@BenNanoNote:~# nslookup google.com Server: 80.58.61.250 Address 1: 80.58.61.250 250.Red-80-58-61.staticIP.rima-tde.net Name: google.com Address 1: 74.125.67.100 gw-in-f100.1e100.net Address 2: 74.125.45.100 yx-in-f100.1e100.net Address 3: 74.125.53.100 pw-in-f100.1e100.net ... root@BenNanoNote:~# ping www.qi-hardware.com PING www.qi-hardware.com (88.198.75.224): 56 data bytes 64 bytes from 88.198.75.224: seq=0 ttl=47 time=735.883 ms 64 bytes from 88.198.75.224: seq=1 ttl=48 time=648.022 ms 64 bytes from 88.198.75.224: seq=2 ttl=48 time=1270.320 ms 64 bytes from 88.198.75.224: seq=3 ttl=48 time=936.241 ms ^C --- www.qi-hardware.com ping statistics --- 5 packets transmitted, 4 packets received, 20% packet loss round-trip min/avg/max = 648.022/897.616/1270.320 ms
TODO
- include config file and firmware in the openWrt image
- create a qi-hardware project with the driver
- determine the exact feature set of the driver
- cleanup the driver sources and get upstream feedback
