本文涉及 SSD202 做为主处理器芯片。
1 硬件设计
- ssw201或者ssw101b 均通过USB2
如果复用USB可以通过USB转换开关或者USBhub芯片进行扩展。
2 内核设置
2.1 DTS配置
2.1.1 引脚配置
USB:infinity2m-ssc010a-s01a-padmux-display.dtsi
固定功能引脚,不复用。
注意:内容看似乎芯片支持3个USB??没有芯片手册不太清除,估计是系列芯片的其它型号吧。
<PAD_DM_P1 PINMUX_FOR_USB_MODE MDRV_PUSE_UTMI1_DM >, // utmi: default not-GPIO
<PAD_DP_P1 PINMUX_FOR_USB_MODE MDRV_PUSE_UTMI1_DP >, // utmi: default not-GPIO
<PAD_DM_P2 PINMUX_FOR_USB_MODE MDRV_PUSE_UTMI2_DM >, // utmi: default not-GPIO
<PAD_DP_P2 PINMUX_FOR_USB_MODE MDRV_PUSE_UTMI2_DP >, // utmi: default not-GPIO
<PAD_DM_P3 PINMUX_FOR_USB_MODE MDRV_PUSE_UTMI3_DM >, // utmi: default not-GPIO
<PAD_DP_P3 PINMUX_FOR_USB_MODE MDRV_PUSE_UTMI3_DP >, // utmi: default not-GPIO
2.1.2 功能支持
参考自 : infinity2m.dtsi
Sstar-ehci-1 {
compatible = "Sstar-ehci-1";
clocks = <&CLK_utmi>;
interrupts = <GIC_SPI INT_IRQ_UHC_INT_P1 IRQ_TYPE_LEVEL_HIGH>;
dpdm_swap=<0>;
//power-enable-pad = <PAD_FUART_TX>;
status = "ok";
};
Sstar-ehci-2 {
compatible = "Sstar-ehci-2";
clocks = <&CLK_utmi>;
interrupts = <GIC_SPI INT_IRQ_UHC_P2 IRQ_TYPE_LEVEL_HIGH>;
dpdm_swap=<0>;
//power-enable-pad = <PAD_FUART_TX>;
status = "ok";
};
2.2 内核配置
[*] Sstar Host patches 针对芯片的HOST补丁
开启wifi协议:
RF switch subsystem support —> wifi 控制使用
cfg80211 - wireless configuration API 网络协议版本
开启USB的通用选项即可:
Support for Host-side USB
EHCI HCD (USB 2.0) support
2 系统启动
依次加载下列驱动:
rfkill.ko
cfg80211.ko
usb-common.ko
usbcore.ko
ehci-hcd.ko
可以通过ifconfig命令查看wifi网络设备 p2p0 和 wlan0。
2.1 sta 模式
注意:很多操作工具,默认为/var/run/wpa_supplicant
/ # cat /appconfigs/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
update_config=1
开启STA
wpa_supplicant -D nl80211 -i wlan0 -c /appconfigs/wpa_supplicant.conf -B
扫描WIFI热点,配置密码,开始连接。
wpa_cli -i wlan0 scan
wpa_cli -i wlan0 scan_result
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid ‘“yanfa-6900”’
wpa_cli -i wlan0 set_network 0 psk ‘“hv5802222”’
wpa_cli -i wlan0 save_config
从热点处通过dhcp获取IP,也可以手动配置。
/ # udhcpc -i wlan0
udhcpc (v1.20.2) started
Sending discover…
Sending select for 192.168.0.133…
Lease of 192.168.0.133 obtained, lease time 7200
deleting routers
adding dns 192.168.0.1
/ #
2.2 ap模式
/ # cat /config/wifi/hostapd.conf
interface=p2p0
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
driver=nl80211
ssid=ssw101bap
hw_mode=g
channel=4
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP/ #
开启AP
/ # hostapd -B /config/wifi/hostapd.conf
Configuration file: /config/wifi/hostapd.conf
Using interface p2p0 with hwaddr 26:14:07:16:65:61 and ssid "ssw101bap"
p2p0: interface state UNINITIALIZED->ENABLED
p2p0: AP-ENABLED
/ #
开启DNS和DHCP
ifconfig p2p0 192.168.1.1 netmask 255.255.255.0 up
配置 /config/wifi/dnsmasq.conf
interface=p2p0
dhcp-range=192.168.1.101,192.168.1.200,12h
dnsmasq -i p2p0 --no-daemon -C /config/wifi/dnsmasq.conf &
通过手机或者其它终端 连接wifi热点 “ssw101bap”,密码为“12345678”。