Hi Chris,

> The  distribution  of Linux I am running is  IPCop,  which  is  a 
> dedicated  firewall  system.  This is  currently  running  kernel 
> 2.4.31  and  as it comes as a dedicated firewall  the  kernel  is 
> compiled with specific functions. Using a latter kernel is not an 
> option.

ipcop probably uses the program "modem_run" to upload firmware from
userspace (the linux 2.6 driver does this itself).  I quickly hacked
modem_run to do the extra initialization that the 2.6.19 module does
(see patch below).  This compiles but is otherwise untested.  Please
let us know if it helps.

> Now to the firmware you kindly sent. I see from a latter  posting 
> that  you  say  it is the extended reach  drivers:  ZZZLP1.eni  & 
> ZZZLP2.eni. I assume that these are different to those inside the 
> package on the Thompson site ZZZL3.012.

I don't know.  Try extracting the firmware from ZZZL3.012 and using
md5sum (for example) to see if you get the same files.

> And this is my main problem. IPCop expects the modem firmware  to 
> "appear"  as  a single file, just like the one  on  the  Thompson 
> site.   Is there a way to combine these two files into one  which 
> will  work.  I have seen that there is a way to extract  the  two 
> files  from the Thomson file, what I need to do is put two  files 
> back into one. 

The modem_run changes may also help when using your existing
firmware.  However the firmware I sent comes from the "extended
reach" driver, which is designed for long lines, so it may work
better.

Duncan.

--- modem_run.c.orig    2007-01-23 10:42:16.000000000 +0100
+++ modem_run.c 2007-01-23 10:49:57.000000000 +0100
@@ -77,6 +77,13 @@
 #define SIZE_e 1
 #define SIZE_f 1
 
+#define B_MAX_DSL      8128
+#define MODEM_MODE     11
+#define MODEM_OPTION_LENGTH    16
+static unsigned char MODEM_OPTION[MODEM_OPTION_LENGTH] = {
+  0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00
+};
+
 /*****************************************************************************
 * Global variables
 ******************************************************************************/
@@ -821,6 +828,30 @@
        if (n<0)
                report(0, REPORT_ERROR, "URB150\n");
 
+       /* Extra initialisation in recent drivers - gives higher speeds */
+
+       /* URBext1 */
+       buf[0] = MODEM_MODE;
+       n = pusb_control_msg(fdusb, 0x01, 0x40, 0x11, 0x00, buf, 1, 100);
+       if (n < 0)
+               report(0, REPORT_ERROR, "URBext1\n");
+
+       /* URBext2 */
+       /* This seems to be the one which actually triggers the higher sync
+          rate -- it does require the new firmware too, although it works OK
+          with older firmware */
+       n = pusb_control_msg(fdusb, 0x01, 0x40, 0x14, 0x00, MODEM_OPTION,
+                           MODEM_OPTION_LENGTH, 100);
+       if (n < 0)
+               report(0, REPORT_ERROR, "URBext2\n");
+
+       /* URBext3 */
+       buf[0] = B_MAX_DSL & 0xff;
+       buf[1] = B_MAX_DSL >> 8;
+       n = pusb_control_msg(fdusb, 0x01, 0x40, 0x12, 0x00, buf, 2, 100);
+       if (n < 0)
+               report(0, REPORT_ERROR, "URBext3\n");
+
 }
 
 /*

Liste de diffusion modem ALCATEL SpeedTouch USB
Pour se dىsinscrire : mailto:[EMAIL PROTECTED]

        

Reply via email to