代码: 全选
// you need to be root (at some point)
>sudo bash -l
// get libcurses need for make menuconfig
#apt-get install libncurses5-dev
// get the kernel sources
#cd /usr/src/
#apt-get source linux-image-2.6.22-14-generic
// make some changes
#cd linux-source-2.6.22-2.6.22
// my kernelversion is 2.6.22-14, but
// the downloaded patchfile has a wrong subversion
// number, so correct this:
#vi Makefile
replace
EXTRAVERSION = .9
with
EXTRAVERSION = .14
#vi /usr/src/linux-
source-2.6.22-2.6.22/debian/config/i386/config.generic
replace
CONFIG_USB_NET_ZAURUS is not set
with
CONFIG_USB_NET_ZAURUS=m
//get original configuration
#cp/boot/config-2.6.22-14-generic /usr/src/linux-source-2.6.22-2.6.22/
#mv /usr/src/linux-source-2.6.22-2.6.22/config-2.6.22-14-generic
/usr/src/linux-source-2.6.22-2.6.22/.config
//change in .config
CONFIG_USB_NET_ZAURUS is not set
to
CONFIG_USB_NET_ZAURUS=m
//compile the module
#mkdir /usr/src/linux-source-2.6.22-2.6.22/.tmp_versions
#cd /usr/src/linux-source-2.6.22-2.6.22/
# make drivers/net/usb/zaurus.ko
//install it
# cp /usr/src/linux-source-2.6.22-2.6.22/drivers/net/usb/zaurus.ko
/lib/modules/2.6.22-14-generic/kernel/drivers/net/usb
# depmod -a
$ sudo mkdir /lib/modules/2.6.22-14-generic/kernel/drivers/net/usb
$ sudo cp /usr/src/linux-source-2.6.22-2.6.22/drivers/net/usb/zaurus.ko
/lib/modules/2.6.22-14-generic/kernel/drivers/net/usb
$ sudo depmod -a
$ sudo modprobe zaurus
$ sudo modprobe usbnet
$ sudo modprobe cdc-acm
将E6连接方式设置为USB LAN,连接数据线。dmesg可以看到硬件插入的信息:
$ demsg | grep usb | more
[ 4836.364634] usbcore: registered new interface driver cdc_ether
[ 4836.365758] usbcore: registered new interface driver zaurus
[ 4869.864024] usb 5-5: new high speed USB device using ehci_hcd and address 2
[ 4869.997306] usb 5-5: configuration #1 chosen from 1 choice
[ 4869.998786] usb0: register 'zaurus' at usb-0000:00:1d.7-5, pseudo-MDLM (BLAN) device, b6:68:
8a:d2:17:75
这事ifconfig就已经能看见usb0的一个网卡了
$ sudo ifconfig usb0 192.168.1.1
$ telnet 192.168.1.2
Trying 192.168.1.2...
Connected to 192.168.1.2.
Escape character is '^]'.
MontaVista(R) Linux(R) Consumer Electronics Edition 3.1
Linux/armv5tel 2.4.20_mvlcee31-mainstone_pxa27x
(none)login: root
代码: 全选
#vi /usr/src/linux-
source-2.6.22-2.6.22/debian/config/i386/config.generic
replace
CONFIG_USB_NET_ZAURUS is not set
with
CONFIG_USB_NET_ZAURUS=m
代码: 全选
//get original configuration
#cp/boot/config-2.6.22-14-generic /usr/src/linux-source-2.6.22-2.6.22/
#mv /usr/src/linux-source-2.6.22-2.6.22/config-2.6.22-14-generic
/usr/src/linux-source-2.6.22-2.6.22/.config
//change in .config
CONFIG_USB_NET_ZAURUS is not set
to
CONFIG_USB_NET_ZAURUS=m
make出zaurus.ko并copy至文件件夹
执行
代码: 全选
$ sudo depmod -a
$ sudo modprobe zaurus
$ sudo modprobe usbnet
$ sudo modprobe cdc-acm
重启,接A1200时,电脑死机,音箱一声怪响
重新编译usbnet.ko(与原来的大小差很多)
再执行至 sudo modprobe usbnet,还是死机,大约过30s后
何解
modinfo zaurus:
代码: 全选
filename: /lib/modules/2.6.24-19-rt/kernel/drivers/net/usb/zaurus.ko
license: GPL
description: Sharp Zaurus PDA, and compatible products
author: Pavel Machek, David Brownell
srcversion: 15B8032F17F29FA5E1E9245
alias: usb:v07B4p0F02d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v*p*d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v04DDp9050d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp9032d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp9031d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8007d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8006d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8005d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8004d*dc*dsc*dp*ic02isc06ip00*
depends:
vermagic: 2.6.24.3 SMP preempt mod_unload 586
如果不加载 zaurus,执行 sudo modprobe usbnet 都可通过