Hi! Sorry I haven't been keeping up to date with kernel revs. I do have some unreleased accumulated fixes; see the attached patch. For the "jiffies" compilation issue, I briefly investigated this for Barry of Puppy Linux and I suspect the solution is to add this: #include <linux/jiffies.h> at the top of "essserial_hw.c". I don't have the right kernel to test this just yet :( Hope this helps, Jeff On Thursday 06 March 2008 04:57:10 am Marvin Stodolsky wrote: > Jeff, > > Can you help with this ess modem update problem. > > ratenn, > Your old 10.2 kernel+modules should still work under 10.3. > So you can still get online with them while the fixes for 10.3 with > kernel 2.6.22.5-31-default are being done. > > MarvS > > On Thu, Mar 6, 2008 at 7:37 AM, <ratenn@xxxxxxxxxx> wrote: > > hello everybody > > Since I have updated my Suse Linux 10.2 to 10.3 I cannot use my ess > > modem anymore.I have tried to compile the driver ess_2.6-v 0.3 again, but > > it doesn't work. > > Below you will find the output of my console. > > > > Raten:/tmp/ess_2.6-v0.3 # ./configure > > checking for running kernel version...2.6.22 > > checking for gcc...4.2.1 > > checking for kernel gcc version...4.2.1 > > searching for kernel includes...found at > > /lib/modules/2.6.22.5-31-default/build/include checking for > > autoconf.h.../lib/modules/2.6.22.5-31-default/build/include/linux/autocon > >f.h checking for asm/mach-default...yes > > checking for kernel version in utsrelease.h...UTS_RELEASE is > > linux-2.6.22.5-31 checking type of tty_struct.count...int > > checking for presence of udev...present > > detecting your modem...found. Your modem is a ess type modem. > > Raten:/tmp/ess_2.6-v0.3 # make > > LD binary.a > > make -C /lib/modules/2.6.22.5-31-default/build M=/tmp/ess_2.6-v0.3 > > make[1]: Entering directory > > `/usr/src/linux-2.6.22.5-31-obj/i386/default' make -C > > ../../../linux-2.6.22.5-31 O=../linux-2.6.22.5-31-obj/i386/default LD > > /tmp/ess_2.6-v0.3/built-in.o > > CC [M] /tmp/ess_2.6-v0.3/essserial-2.6.o > > CC [M] /tmp/ess_2.6-v0.3/essserial_pci.o > > /tmp/ess_2.6-v0.3/essserial_pci.c: In function 'essserial_pci_init': > > /tmp/ess_2.6-v0.3/essserial_pci.c:516: warning: 'pci_find_device' is > > deprecated (declared at > > /usr/src/linux-2.6.22.5-31/include/linux/pci.h:477) CC [M] > > /tmp/ess_2.6-v0.3/essserial_hw.o > > /tmp/ess_2.6-v0.3/essserial_hw.c: In function 'esscom_initialize': > > /tmp/ess_2.6-v0.3/essserial_hw.c:82: error: 'jiffies' undeclared (first > > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:82: error: (Each > > undeclared identifier is reported only once > > /tmp/ess_2.6-v0.3/essserial_hw.c:82: error: for each function it appears > > in) /tmp/ess_2.6-v0.3/essserial_hw.c:88: error: 'HZ' undeclared (first > > use in this function) tmp/ess_2.6-v0.3/essserial_hw.c:89: error: implicit > > declaration of function 'time_before' /tmp/ess_2.6-v0.3/essserial_hw.c: > > In function 'Get_System_Time': /tmp/ess_2.6-v0.3/essserial_hw.c:209: > > error: 'HZ' undeclared (first use in this function) > > /tmp/ess_2.6-v0.3/essserial_hw.c:209: error: 'jiffies' undeclared (first > > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c: In function > > 'CurrentBlkTime': /tmp/ess_2.6-v0.3/essserial_hw.c:223: error: 'HZ' > > undeclared (first use in this function) > > /tmp/ess_2.6-v0.3/essserial_hw.c:223: error: 'jiffies' undeclared (first > > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c: In function > > 'systemTime': > > /tmp/ess_2.6-v0.3/essserial_hw.c:234: error: 'jiffies' undeclared (first > > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:234: error: 'HZ' > > undeclared (first use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c: > > In function 'ChkBlkTime': > > /tmp/ess_2.6-v0.3/essserial_hw.c:246: error: 'jiffies' undeclared (first > > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:246: error: 'HZ' > > undeclared (first use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c: > > In function 'esscom_hw_timer_tick': /tmp/ess_2.6-v0.3/essserial_hw.c:489: > > error: 'HZ' undeclared (first use in this function) > > /tmp/ess_2.6-v0.3/essserial_hw.c:489: error: 'jiffies' undeclared (first > > use in this function) make[4]: *** [/tmp/ess_2.6-v0.3/essserial_hw.o] > > Error 1 > > make[3]: *** [_module_/tmp/ess_2.6-v0.3] Fehler 2 > > make[2]: *** [_all] Fehler 2 > > make[1]: *** [all] Error 2 > > make[1]: Leaving directory `/usr/src/linux-2.6.22.5-31-obj/i386/default' > > make: *** [all] Error 2 > > > > Does anyone a solution for the 2.6.22 kernel? or can you please help me > > to change the scripts? My modem worked well with the "old 2.6.18 kernel" > > with many thanks in advance > > Ralph > > > > > > -- > > http://www.westropolis.de - Kultur fuer alle, Kritik von allen. Die > > Plattform fuer Kultur im Web.
diff -Naur ess_2.6-v0.3/essserial_pci.c ess_2.6-v0.4/essserial_pci.c --- ess_2.6-v0.3/essserial_pci.c 2007-02-21 18:33:37.000000000 -0800 +++ ess_2.6-v0.4/essserial_pci.c 2008-01-26 13:29:29.000000000 -0800 @@ -513,7 +513,11 @@ return ret; /* Attempt to release any drivers that may have already claimed our modem */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) + while( (dev = pci_get_device( PCI_ANY_ID, PCI_ANY_ID, dev )) != NULL ) +#else while( (dev = pci_find_device( PCI_ANY_ID, PCI_ANY_ID, dev )) != NULL ) +#endif { /* API changed in 2.6.13 */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13) diff -Naur ess_2.6-v0.3/linmodem-2.6.c ess_2.6-v0.4/linmodem-2.6.c --- ess_2.6-v0.3/linmodem-2.6.c 2007-02-21 18:33:37.000000000 -0800 +++ ess_2.6-v0.4/linmodem-2.6.c 2008-01-26 13:29:30.000000000 -0800 @@ -602,7 +602,11 @@ int serial_link_irq_chain(struct linmodem_port *p) { struct irq_info *i = irq_lists + p->port.irq; +#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) ) + int ret, irq_flags = p->port.flags & UPF_SHARE_IRQ ? IRQF_SHARED : 0; +#else int ret, irq_flags = p->port.flags & UPF_SHARE_IRQ ? SA_SHIRQ : 0; +#endif dbg(); @@ -777,8 +781,13 @@ } static void +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) ) linmodem_set_termios(struct uart_port *port, struct termios *termios, struct termios *old) +#else +linmodem_set_termios(struct uart_port *port, struct ktermios *termios, + struct ktermios *old) +#endif { struct linmodem_port *p = (struct linmodem_port *)port; unsigned char cval, fcr = 0;