2012年(1)
分类: LINUX
2012-06-26 12:39:56
EM770W无线网卡移植方法
应客户要求在原来的路由器方案上移植华为的3g无线网卡,搞了好几天,最终交付,这里贴出来供大家交流参考以共勉 说明:本文档包括内核的配置以及3g网卡的测试方法 一、原来的SDK需要做的改动如下:
改文件:/AR7240/linux/kernels/mips-linux-2.6.15/arch/mips/ar7240/platform.c
第113行 &ar7240_usb_ehci_device, 改为&ar7240_usb_ohci_device, 即(ehci改为ohci)
二、内核编译A、为udev添加sysfs和tmpfs文件系统
File systems --->
Pseudo filesystems --->
[*] /proc file system support
[*] sysfs file system support
[*] Virtual memory file system support (former shm fs)
B、Generic Driver Options --->
[*] Select only drivers that don't need compile-time external firmware
[*] Prevent firmware from being built <*> Hotplug firmware loading support
SCSI device support --->
[*] legacy /proc/scsi/ support
<*> SCSI disk support
Network device support --->
<*> PPP (point-to-point protocol) support
[*] PPP multilink support (EXPERIMENTAL)
[*] PPP filtering
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
<*> PPP Deflate compression
<*> PPP BSD-Compress compression
<*> PPP MPPE compression (encryption) (EXPERIMENTAL)
<*> PPP over Ethernet (EXPERIMENTAL)
<*> SLIP (serial line) support
[*] CSLIP compressed headers
USB support --->
<*> Support for Host-side USB
[*] USB verbose debug messages
[*] USB device filesystem
<*> OHCI HCD support
[*] USB OHCI support for AR7240
<*> USB Mass Storage support
[*] USB Monitor
USB Serial Converter support --->
[*] USB Generic Serial Driver
保存退出后编译,得到新的内核和文件系统,文件系统要继续更改,具体参考下面的提示。
新的内核所在路径:/AR7240/images/ap91fus/下的vmlinux.lzma.uImage。
新的文件系统目录:/AR7240/ rootfs-ap91fus.optbuild/,需要再配置。
三、配置文件系统1、解压bak.tar压缩包
2、进入SDK的路径:/AR7240
拷贝文件系统目录到/ AR7240/build/util/目录下:
cp -r rootfs-ap91fus.optbuild/ build/util/
3、到/AR7240/build/util/rootfs-ap91fus.optbuild/路径下,对其下文件做如下更新:
注意:以下的改动都是针对/AR7240/build/util/rootfs-ap91fus.optbuild/路径下的目录及文件
1、chat文件放到/usr/sbin下面
2、pppd文件放到/bin下面
3、usbserial.ko放到/usr下面
4、udevd和udevstart放到/sbin下面
5、把ppp文件夹和udev文件夹放到/etc下面
6、在/etc/rc.d/rcS文件中最后加入以下语句
echo "Starting udevd..."
/sbin/udevd --daemon
/sbin/udevstart
7、vi etc/resolv.conf 在文件中添加一行 nameserver 210.21.196.6
以上改动做完后,就可以利用/AR7240/build/util/下面的mkfs.jffs2工具制作文件系统,命令如下:
./mkfs.jffs2 --root=./rootfs-ap91fus.optbuild/ --eraseblock=0x10000 -b -D ../scripts/ap91fus/dev.txt --squash -o ap91fus-jffs2 --pad=0x600000
这样就在当前目录下生成了文件系统:ap91fus-jffs2
四、Uboot参数变化
set bootargs console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ar7240-nor0:320k(uboot),1728k(kernel),6144k(rootfs)
set burnk tftp 80300000 vmlinux.lzma.uImage \;erase 9f050000 +1B0000 \;cp.b 80300000 9f050000 1B0000
set burnfs tftp 80300000 ap91fus-jffs2 \;erase 9f200000 +600000 \;cp.b 80300000 9f200000 600000
set burnall run burnk\;run burnfs\;
save
run burnall
五、3G网卡测试方法(天线接网卡模块的M端口)1、cd /usr
2、insmod usbserial.ko vendor=0x12d1 product=0x1404
3、mknod /dev/ppp c 108 0
4、mkdir -p /var/lock
5、拨号:pppd call wcdma&
6、ping
六、看门狗测试
mknod /dev/watchdog c 10 130
echo “1” > /dev/watchdog