card specific info
Novatel Merlin U740
The Merlin U740 is a cardbus-card. Unlike the U630 it is providing USB-over pcmcia. So the operating system is just seeing an additional USB hub on insertion of the card. On address 2 of it's USB interface the card is providing the neccessary interfaces for communicating with the card for UMTS/GPRS mode.
The card is providing HSDPA (High Speed Downlink Packet access) on it's air interface. The maximum downlink speed is 1.8 MBit/s and the uplink is specified as maximum 384 kBit/s. This card also supports EDGE or EGPRS.
on it's two USB interfaces it provides the communication channels. Interface 0 is everything you need for basic functionality of that card whereas interface 1 is acting as a diagnostic interface. This interface might be used for status control of a connection while it's connected to the 3G network. Unfortunately Novatel does not document anything and does not answer support requests so this diagnostic link is of no use, currently. It's interface is propietary like the one of the U630 card.
On interface 0 you'll have two bulk endpoints for basic communication and datalink. These two form something what is really looking like a Hayes compatible modem.
Now back to the technical details.
Currently no driver exist for supporting this device. But it's not that hard to get the card working, because the ubsa driver might be used. If you want to get it to work, just hack that driver for vendor-ID 0x1410 and product-ID 0x1400. At least using ubsa will give you basic functionality of this card to be used by ppp, pppd or mpd.
On insertion of the card, FreeBSD gives the following message:
cardbus0: CIS pointer is 0! cardbus0: Resource not specified in CIS: id=10, size=1000 ohci1: <NEC uPD 9210 USB controller> mem 0x88000000-0x88000fff irq 9 at device 0.0 on cardbus0 ohci1: [GIANT-LOCKED] usb1: OHCI version 1.0 usb1: <NEC uPD 9210 USB controller> on ohci1 usb1: USB revision 1.0 uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 3 ports with 3 removable, self powered cardbus0: CIS pointer is 0! cardbus0: Resource not specified in CIS: id=10, size=1000 ohci2: <NEC uPD 9210 USB controller> mem 0x88001000-0x88001fff irq 9 at device 0.1 on cardbus0 ohci2: [GIANT-LOCKED] usb2: OHCI version 1.0 usb2: <NEC uPD 9210 USB controller> on ohci2 usb2: USB revision 1.0 uhub2: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhub1: device problem (SET_ADDR_FAILED), disabling port 1 ugen0: Novatel Wireless Novatel Wireless HSDPA Modem, rev 1.10/0.00, addr 2
The usb interface looks like this:
usb1:
%usbctl -f /dev/usb1 USB device 1: 9 USB device 2: 0 2 USB devices found DEVICE addr 1 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=1.00 bDeviceClass=9 bDeviceSubClass=0 bDeviceProtocol=0 bMaxPacketSize=64 idVendor=0x0000 idProduct=0x0000 bcdDevice=100 iManufacturer=1(NEC) iProduct=2(OHCI root hub) iSerialNumber=0() bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=25 bNumInterface=1 bConfigurationValue=1 iConfiguration=0() bmAttributes=40 bMaxPower=0 mA INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=9 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=0() ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=1-in bmAttributes=interrupt wMaxPacketSize=8 bInterval=255 current configuration 1 HUB descriptor: bDescLength=11 bDescriptorType=41 bNbrPorts=3 wHubCharacteristics=00 bPwrOn2PwrGood=15 bHubContrCurrent=0 DeviceRemovable=0 Hub status 0000 0000 Port 1 status=0103 change=0000 Port 2 status=0100 change=0000 Port 3 status=0100 change=0000 ---------- DEVICE addr 2 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=1.10 bDeviceClass=0 bDeviceSubClass=0 bDeviceProtocol=0 bMaxPacketSize=64 idVendor=0x1410 idProduct=0x1400 bcdDevice=0 iManufacturer=1(\uc3b6\u59d8\uc3b6\u59d8\uc3b6\u2168\uc429\u2438\uc429\u2360\uc429\ueca8\uc424\udbd0\uc425\u3048\uc429\u2ca8\uc429\uadc8\uc428\u21b0\uc429\uaea0\uc428\u3288\uc429\u3750\uc429\u3870\uc429\udca8\uc425\u2e10\uc429) iProduct=2() iSerialNumber=0() bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=62 bNumInterface=2 bConfigurationValue=1 iConfiguration=0() bmAttributes=a0 bMaxPower=500 mA INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=3 bInterfaceClass=255 bInterfaceSubClass=255 bInterfaceProtocol=255 iInterface=3(\uc43e\u19d8\uc43e\u59d8\uc3b6\u17e0\uc43e\u15e8\uc43e) ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=1-in bmAttributes=interrupt wMaxPacketSize=16 bInterval=128 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=2-in bmAttributes=bulk wMaxPacketSize=64 bInterval=0 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=2-out bmAttributes=bulk wMaxPacketSize=64 bInterval=0 INTERFACE descriptor 1: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=1 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=255 bInterfaceSubClass=255 bInterfaceProtocol=255 iInterface=3(\ud449) ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=4-in bmAttributes=bulk wMaxPacketSize=64 bInterval=0 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=4-out bmAttributes=bulk wMaxPacketSize=64 bInterval=0 current configuration 1
...and usb2:
%usbctl -f /dev/usb2 USB device 1: 9 1 USB devices found DEVICE addr 1 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=1.00 bDeviceClass=9 bDeviceSubClass=0 bDeviceProtocol=0 bMaxPacketSize=64 idVendor=0x0000 idProduct=0x0000 bcdDevice=100 iManufacturer=1(NEC) iProduct=2(OHCI root hub) iSerialNumber=0() bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=25 bNumInterface=1 bConfigurationValue=1 iConfiguration=0() bmAttributes=40 bMaxPower=0 mA INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=9 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=0() ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=1-in bmAttributes=interrupt wMaxPacketSize=8 bInterval=255 current configuration 1 HUB descriptor: bDescLength=11 bDescriptorType=41 bNbrPorts=2 wHubCharacteristics=00 bPwrOn2PwrGood=15 bHubContrCurrent=0 DeviceRemovable=0 Hub status 0000 0000 Port 1 status=0100 change=0000 Port 2 status=0100 change=0000
For commands special to the U740 card, please have a look at the Merlin U630 page as the command set and LED meaning is nearly the same for both card models.
There's a command for turning HSDPA support on and off but I don't have it by my hand currently. As soon as I've found the command again, I'll document it here.
The datasheet for this card can be found at Novatel's site
I've committed a patchset to GNATS. GNATS pr-entry including a patchset.
After applying the patchset, when inserting this card you'll get:
[snip] ucom0: Novatel Wireless Novatel Wireless HSDPA Modem, rev 1.10/0.00, addr 2
Using port /dev/cuaU? and issuing an ATI command, this card identifies as:
Manufacturer: Novatel Wireless Incorporated Model: Merlin U740 (HW REV [0:33]) Revision: 15.4-15.4-00 [2006-01-06 14:54:22] IMEI: 358661000148780 +GCAP: +CGSM,+DS,+ES