发布网友 发布时间:2022-04-22 22:52
共1个回答
热心网友 时间:2023-10-01 12:50
到天空软件中下载
A:esscom.o是2.2.12内核下用的,在2.2.15下用,要改tty.h并重编内核的(见linmodem-Howto),我在tuobo6.1下就是这样干的:(在rh7下可能不行,因为它的头文件好象是2.4.0的,要另想它法)
1、下载驱动程序:ftp://ftp.esstech.com/pub/modem/pci/unsupported/56t-pi/linux/Kernel61/111.zip
2、上述驱动程序是2.2.12下的,在其它内核下,可以用insmod -f esscom加载。
3、对于2.2.15以后的内核,要做些手脚!
据linmodem-HOWTO的介绍,2.2.15以后的头文件/usr/src/linux/include/linux/tty.h作了改动,在struct tty_struct中增加了一个成员:
struct wait_queue *poll_wait; 这就导致新的ppp.o和esscom.o不兼容。因此要将tty.h中的这个新成员移到结构的最后,移动后就象下面这样:
...
struct semaphore atomic_read;
struct semaphore atomic_write;
spinlock_t read_lock;
struct wait_queue *poll_wait;/*移到这里*/
};
...
然后是重新编译内核和模块(这是关键,要得到新的ppp.o)。
这个办法我在2.2.15和2.2.17下试过,很管用。
注意:由于tty.h改过了,虽然解决了上网问题,但反过来内核可能与其他什么模块不兼容。故慎用!
补充:
1.要建立相应的设备:
cd /dev
mknod essmodem c 127 1
ln -s essmodem modem
2.如果esscom.o是放在/lib/moles/x.x.xx下的目录里(如/lib/moles/x.x.xx/net),可以用insmod -f esscom。否则要指定位置,如:insmod -f /tmp/esscom.o。
3.把上述insmod放在/etc/rc.d/rc.moles中,这样在启动时就自动加载essmod.o。