[Hampshire] Installing 3 mobile broadband app

Top Page

Reply to this message
Author: Paul Stimpson
Date:  
To: Hampshire LUG Discussion List
Subject: [Hampshire] Installing 3 mobile broadband app
Hi,

I just got an almost-free Three USB mobile broadband dongle (a ZTE
MF627). I was very pleasantly surprised to find a folder in its zerocd
partition (it appears as a USB drive containing the drivers when first
installed) called "Linux Software". In that was a tar.gz file and inside
that loads of stuff and an install script.

Now the instructions are non-existent and the script doesn't actually
work on Ubuntu 9.04 but at least the existence of the software is
progress :) The script has a number of flaws, the first being that it
tests for the existence of /usr/share/gnome/ubuntu (which doesn't
actually exist in a default 9.04 install) to decide whether the distro
is DEB or RPM-based!

Enough of the software builds that the modem can get online but none of
the configuration tools work. When I run the build script it fails in
the following ways:


> > ..................start install.................
> > ....installing driver
> > make -C /lib/modules/2.6.28-15-generic/build
> > M=/opt/3UK/bin/linuxdriver modules
> > make[1]: Entering directory `/usr/src/linux-headers-2.6.28-15-generic'
> > CC [M] /opt/3UK/bin/linuxdriver/zte.o
> > /opt/3UK/bin/linuxdriver/zte.c:219: error: unknown field
> > ‘num_interrupt_in’ specified in initialiser
> > /opt/3UK/bin/linuxdriver/zte.c:219: error: ‘NUM_DONT_CARE’ undeclared
> > here (not in a function)
> > /opt/3UK/bin/linuxdriver/zte.c:220: error: unknown field ‘num_bulk_in’
> > specified in initialiser
> > /opt/3UK/bin/linuxdriver/zte.c:221: error: unknown field
> > ‘num_bulk_out’ specified in initialiser
> > /opt/3UK/bin/linuxdriver/zte.c:223: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:224: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:225: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:226: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:227: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:228: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:229: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:230: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:231: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:232: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:233: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c:234: warning: initialisation from
> > incompatible pointer type
> > /opt/3UK/bin/linuxdriver/zte.c: In function ‘zte_indat_callback’:
> > /opt/3UK/bin/linuxdriver/zte.c:459: error: ‘struct usb_serial_port’
> > has no member named ‘tty’
> > /opt/3UK/bin/linuxdriver/zte.c:469: error: ‘struct usb_serial_port’
> > has no member named ‘open_count’
> > /opt/3UK/bin/linuxdriver/zte.c: In function ‘zte_instat_callback’:
> > /opt/3UK/bin/linuxdriver/zte.c:523: error: ‘struct usb_serial_port’
> > has no member named ‘tty’
> > /opt/3UK/bin/linuxdriver/zte.c:523: error: ‘struct usb_serial_port’
> > has no member named ‘tty’
> > /opt/3UK/bin/linuxdriver/zte.c:525: error: ‘struct usb_serial_port’
> > has no member named ‘tty’
> > /opt/3UK/bin/linuxdriver/zte.c: In function ‘zte_open’:
> > /opt/3UK/bin/linuxdriver/zte.c:630: error: ‘struct usb_serial_port’
> > has no member named ‘tty’
> > /opt/3UK/bin/linuxdriver/zte.c: In function ‘zte_close’:
> > /opt/3UK/bin/linuxdriver/zte.c:664: error: ‘struct usb_serial_port’
> > has no member named ‘tty’
> > /opt/3UK/bin/linuxdriver/zte.c: In function ‘zte_send_setup’:
> > /opt/3UK/bin/linuxdriver/zte.c:732: error: ‘struct usb_serial_port’
> > has no member named ‘tty’
> > make[2]: *** [/opt/3UK/bin/linuxdriver/zte.o] Error 1
> > make[1]: *** [_module_/opt/3UK/bin/linuxdriver] Error 2
> > make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-15-generic'
> > make: *** [modules] Error 2
> > cp: cannot stat `zte.ko': No such file or directory
> > rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
> > rm: cannot remove `Module.symvers': No such file or directory
> > Driver install complete!!
> > ./install.sh: line 191: udevcontrol: command not found
> > ./install.sh: line 208: cd: /home/paul/Documents/download/three/Linux:
> > No such file or directory
> > ./install.sh: line 212: cd: /home/paul/Documents/download/three/Linux:
> > No such file or directory
> > ..................install completed!!!..................
> > ./install.sh: line 227: cd: /home/paul/Documents/download/three/Linux:
> > No such file or directory
>


I've installed the sources for my running kernel and the libftdi1 (and
its -dev partner) packages as Googling seemed to suggest they might help
but to no avail. From what I've seen I believe one problem is that
struct usb_serial_port is undefined and this is throwing lots of the
errors. I believe this struct is defined in usb-serial.h but I've seen
some arguments as to where, or even if, this should be included with the
kernel source because its placement in the source tree doesn't lend to
it being packaged correctly. I've not had any success finding out which
package might provide it. Does anybody know how I might get it onto my
machine cleanly please?

I also note that the script has failed to find udevcontrol. I've got
both the udev and udev-extras packages installed. Do you know how to fix
this one too please?


Thanks,
Paul.