LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (https://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   Getting HP 2300 UMTS modem to work (https://www.linuxquestions.org/questions/linux-wireless-networking-41/getting-hp-2300-umts-modem-to-work-631904/)

Carceri 03-31-2008 08:41 AM

Getting HP 2300 UMTS modem to work
 
I have been trying to get the HP 2300 Broadband Wireless Module (UMTS modem) to work with Ubuntu 7.10 (2.6.22 kernel) on my HP 2510p laptop without any luck so far.

The HP 2300 uses the Qualcomm MSM6280 chipset and the Sierra Wireless MC8775 module, which should be supported under Linux. The device is installed as a mini PCI card, and recognized as the following USB device:

Code:

Bus 002 Device 003: ID 03f0:1e1d Hewlett-Packard
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass        0
  bDeviceProtocol        0
  bMaxPacketSize0        64
  idVendor          0x03f0 Hewlett-Packard
  idProduct          0x1e1d
  bcdDevice            0.01
  iManufacturer          1 HP
  iProduct                2
  iSerial                0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          67
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          7
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              3 Data Interface
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0010  1x 16 bytes
        bInterval            128
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              0
Device Status:    0x0000
  (Bus Powered)

In order for the system to load drivers for the device, I have created a file:

/etc/udev/rules.d/50-sierra-umts.rules

with the following lines:

SUBSYSTEM=="usb", SYSFS{idProduct}=="1e1d", SYSFS{idVendor}=="03f0", RUN+="/sbin/modprobe usbserial vendor=0x03f0 product=0x1e1d"
SUBSYSTEM=="usb", SYSFS{idProduct}=="1e1d", SYSFS{idVendor}=="03f0", RUN+="/sbin/modprobe sierra"

When booting, dmesg lists the following:

[ 33.700000] usbcore: registered new interface driver usbserial
[ 33.700000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
[ 33.700000] usbserial_generic 4-1:1.0: generic converter detected
[ 33.700000] usb 4-1: generic converter now attached to ttyUSB0
[ 33.700000] usb 4-1: generic converter now attached to ttyUSB1
[ 33.700000] usb 4-1: generic converter now attached to ttyUSB2
[ 33.700000] usbcore: registered new interface driver usbserial_generic
[ 33.700000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/usb/serial/usb-serial.c: USB Serial Driver core
[ 33.836000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/usb/serial/usb-serial.c: USB Serial support registered for Sierra USB modem (1 port)
[ 33.836000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/usb/serial/usb-serial.c: USB Serial support registered for Sierra USB modem (3 port)
[ 33.836000] usbcore: registered new interface driver sierra
[ 33.836000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/usb/serial/sierra.c: USB Driver for Sierra Wireless USB modems: v.1.0.6

According to various documentation for the Sierra chipset, one should now be able to use /dev/ttyUSB1 as a modem, but when I run:

sudo pppd noauth nodetach /dev/ttyUSB1 user '' connect '/usr/sbin/chat ABORT BUSY ABORT "NO CARRIER" "" ATZ OK ATDT*99# CONNECT'

It just times out with the message "Connect script failed". If I use wvdial to connect to the modem, I get:

WvDial<*1>: WvDial: Internet dialer version 1.56
WvModem<*1>: Cannot get information for serial port.
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial<*1>: Sending: ATQ0
WvDial<*1>: Re-Sending: ATZ
WvDial<Err>: Modem not responding.

Any ideas?

arno 04-01-2008 05:24 PM

This link contains some interesting info.

http://foomagic.org/wiki/index.php/U...rd_under_linux

Carceri 04-02-2008 02:44 AM

Thanks a lot!

I thought I had done everything, but you learn something every day. My pppd line (which I copied from somewhere else) apparently doesn't work and I am not supposed to use ttyUSB1 as most documents usually say, but instead ttyUSB2.

All I did was to run wvdialconf, and it autodetected the modem on ttyUSB0 and ttyUSB2. It seems that ttyUSB0 is the basic serial port, and ttyUSB2 is the sierra chipset. This probably matters if you want to use the high speed UMTS connections.

Anyway, I can now go online with my built in UMTS modem under Linux. Cool :)

Carceri 04-02-2008 04:29 AM

Some additional information: It worked once, but the next time it failed to set up routing. I rebooted, and now I got the following from wvdial:

WvDial<*1>: WvDial: Internet dialer version 1.56
WvModem<*1>: Cannot get information for serial port.
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial Modem<*1>: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
WvDial Modem<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
WvDial Modem<*1>: OK
WvDial<*1>: Sending: ATE0V1&D2&C1S0=0+IFC=2,2
WvDial Modem<*1>: ATE0V1&D2&C1S0=0+IFC=2,2
WvDial Modem<*1>: OK
WvDial<*1>: Sending: AT+CGDCONT=1,"IP","data.tre.dk";
WvDial Modem<*1>: OK
WvDial<*1>: Modem initialized.
WvDial<*1>: Sending: ATDT*99***1#
WvDial<*1>: Waiting for carrier.
WvDial Modem<*1>: CONNECT
WvDial<*1>: Carrier detected. Waiting for prompt.

This was fixed by setting "Carrier Check = no" in wvdial.conf. Now I get:

WvDial<*1>: Carrier detected. Waiting for prompt.
WvDial<Notice>: Don't know what to do! Starting pppd and hoping for the best.
WvDial<Notice>: Starting pppd at Wed Apr 2 12:04:39 2008
WvDial<Notice>: Pid of pppd: 7507
WvDial<*1>: Using interface ppp0
WvDial<*1>: local IP address 10.176.86.31
WvDial<*1>: remote IP address 10.64.64.64
WvDial<*1>: primary DNS address 80.251.192.244
WvDial<*1>: secondary DNS address 80.251.192.245

However, no routing is set up. If I manually run

route add default dev ppp0

Then it works again, but the first time I connected, this happened automatically. Anyway, nothing that can't be fixed by a few files in /etc/ppp/ip-up.d


All times are GMT -5. The time now is 05:24 PM.