jayjwa: Go to this link, you will find info on the 536ep there: <http://groups.google.com/group/ubuntu-modems> Regards, Carlos. 2008/7/21 jayjwa <jayjwa@xxxxxxxxxxx>: > > > I've been using the Intel 536ep for quite some time now. It requires a > kernel module to work. The source has been getting updated each time > the kernel changes and breaks something, but so far no changes to > allow the module to continue to compile under the latest kernel, > 2.6.26 (at the time of this writing). As I use this modem to connect > to the Internet, if I can't get the modem working again I'm stuck not > being able to update the kernel. > > So far I can see two problems. First the proc_root one: > > /tmp/intel-536EP-2.56.76.0/coredrv/coredrv.c: In function 'create_hamproc': > /tmp/intel-536EP-2.56.76.0/coredrv/coredrv.c:746: error: 'proc_root' > /undeclared (first use in this function) > /tmp/intel-536EP-2.56.76.0/coredrv/coredrv.c:746: error: (Each undeclared > /identifier is reported only once > /tmp/intel-536EP-2.56.76.0/coredrv/coredrv.c:746: error: for each function > it appears in.) > /tmp/intel-536EP-2.56.76.0/coredrv/coredrv.c: In function 'detach_hamproc': > /tmp/intel-536EP-2.56.76.0/coredrv/coredrv.c:754: error: 'proc_root' > /undeclared (first use in this function) > > Place in coredrv/coredrv.c someplace near the top > > #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)) > extern struct proc_dir_entry proc_root; > #endif > > allows to continue on to problem #2, tty_driver troubles: > > > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c: In function > /'softserial_register_tty': > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:135: error: 'struct > /tty_driver' has no member named > 'open' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:136: error: 'struct > tty_driver' has no member named > 'close' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:137: error: 'struct > tty_driver' has no member named > 'write' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:138: error: 'struct > tty_driver' has no member named > 'put_char' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:139: error: 'struct > tty_driver' has no member named > 'flush_chars' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:140: error: 'struct > tty_driver' has no member named > 'write_room' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:141: error: 'struct > tty_driver' has no member named > 'chars_in_buffer' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:142: error: 'struct > tty_driver' has no member named > 'flush_buffer' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:143: error: 'struct > tty_driver' has no member named > 'ioctl' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:144: error: 'struct > tty_driver' has no member named > 'throttle' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:145: error: 'struct > tty_driver' has no member named > 'unthrottle' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:146: error: 'struct > tty_driver' has no member named > 'send_xchar' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:147: error: 'struct > tty_driver' has no member named > 'set_termios' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:148: error: 'struct > tty_driver' has no member named > 'stop' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:149: error: 'struct > tty_driver' has no member named > 'start' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:150: error: 'struct > tty_driver' has no member named > 'hangup' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:151: error: 'struct > tty_driver' has no member named > 'break_ctl' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:152: error: 'struct > tty_driver' has no member named > 'wait_until_sent' > /tmp/intel-536EP-2.56.76.0/coredrv/softserial.c:153: error: 'struct > tty_driver' has no member named > 'set_ldisc' > > > likely due to differences in > > /usr/src/linux-2.6.25.9/include/linux/tty_driver.h my last kernel, versus > /usr/src/linux-2.6.26/include/linux/tty_driver.h from the new 2.6.26. > > struct tty_driver now is missing things like: > > int (*open)(struct tty_struct * tty, struct file * filp); > void (*close)(struct tty_struct * tty, struct file * filp); > int (*write)(struct tty_struct * tty, > const unsigned char *buf, int count); > void (*put_char)(struct tty_struct *tty, unsigned char ch); > void (*flush_chars)(struct tty_struct *tty); > int (*write_room)(struct tty_struct *tty); > int (*chars_in_buffer)(struct tty_struct *tty); > int (*ioctl)(struct tty_struct *tty, struct file * file, > unsigned int cmd, unsigned long arg); > > and instead has > > /* > * Driver methods > */ > > const struct tty_operations *ops; > > > This problem is beyond my bad C skills, and I can't seem to fix it. The URL > at > > http://linmodems.technion.ac.il/packages/Intel/Philippe.Vouters/ > > has had the source updated before, but the latest is > > intel-536EP-2.56.76.0_2008_03_22.tar.bz2 > > which doesn't allow for the major changes in 2.6.26. I looked in the 2008 > archives from the linmodem website but didn't see anything about 2.6.26 > changes and Intel 536ep. As this linux isn't a distro, I'm both the captain > and sole passenger of my own vessel. Hence, there's not alot of places to > get help with something of this nature. Any help greatly appreciated. > > > > > >