| |
Activation Codes and Methods, Hardware Details, Sniffing
-
Xander
- Posts: 9
- Joined: 20 Feb 2010, 00:41
- Location: Russia
Post
by Xander » 20 Feb 2010, 00:49
Hi!
I have successfully switched to the modem mode using this addition to udev rules:
Code: Select all # Beceem BCSM250
ATTRS{idVendor}=="198f", ATTRS{idProduct}=="bccd", RUN+="/usr/share/usb_modeswitch/usb_modeswitch.sh '%b/%k'"
and this config file:
Code: Select all ########################################################
# Beceem BCSM250
DefaultVendor= 0x198f
DefaultProduct=0xbccd
TargetVendor= 0x198f
TargetProduct= 0x0220
CheckSuccess=20
MessageEndpoint=2
MessageContent="55534243f0298d8124000000800006bc626563240000000000000000000000"
MessageContent value was gathered using UsbSnoop.
Thank you!
-
Josh
- Site Admin
- Posts: 6593
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 20 Feb 2010, 02:07
Cool, thanks!
I'll add the device to the configuration. If you give me a name (PM) I'll write it in as the contributor.
-
Xander
- Posts: 9
- Joined: 20 Feb 2010, 00:41
- Location: Russia
Post
by Xander » 20 Feb 2010, 09:49
Sent it.
BTW, I noticed that after the switch an 'option' driver is binded to the device. And it seems that usb_modeswitch did it. However I'm quite sure that it should not be handled by an 'option' driver. Can I stop this somehow?
-
Josh
- Site Admin
- Posts: 6593
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 20 Feb 2010, 17:22
If it provides serial interfaces, then the "option" is the way to go. It's and optimized driver for high-speed serial devices.
The generic serial USB driver is not recommended.
If there was a special driver for your device class, it would have been bound automatically. If the interfaces have a class of "255", this means vendor-specific and they are most likely serial ports.
You can check with a "lsusb -v -d 198f:0220". Look for "InterfaceClass".
To disable the driver loading, comment out line 319 in /lib/udev/usb_modeswitch (the "echo" command). I will add a proper switch in the next version.
-
Xander
- Posts: 9
- Joined: 20 Feb 2010, 00:41
- Location: Russia
Post
by Xander » 20 Feb 2010, 20:19
Its class is indeed 0xff, but I'm quite sure that it isn't a usb-serial device. There is no working driver for it yet, but I know the protocol partially.
-
spoom
- Posts: 1
- Joined: 17 Mar 2010, 09:13
Post
by spoom » 17 Mar 2010, 09:29
Xander wrote:Hi!
I have successfully switched to the modem mode using this addition to udev rules:
Code: Select all # Beceem BCSM250
ATTRS{idVendor}=="198f", ATTRS{idProduct}=="bccd", RUN+="/usr/share/usb_modeswitch/usb_modeswitch.sh '%b/%k'"
and this config file:
Code: Select all ########################################################
# Beceem BCSM250
DefaultVendor= 0x198f
DefaultProduct=0xbccd
TargetVendor= 0x198f
TargetProduct= 0x0220
CheckSuccess=20
MessageEndpoint=2
MessageContent="55534243f0298d8124000000800006bc626563240000000000000000000000"
MessageContent value was gathered using UsbSnoop.
Thank you!
Hi !
I am new here so, please, can you write it down step by step the procedure? I just can't make it work under 9.10! Thank you!
S.
-
Josh
- Site Admin
- Posts: 6593
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 17 Mar 2010, 11:01
It's already included in the test version 1.1.1beta (see USB_ModeSwitch main page).
But - as Xander said - there is probably no driver yet, so switching is not really useful right now.
-
GChriss
- Posts: 5
- Joined: 05 Jul 2010, 21:44
Post
by GChriss » 06 Jul 2010, 06:07
I have a Beceem Communications Inc. (198f:0220) / Sierra Wireless, Inc. (1199:0301) 250U card from Sprint.
Windows 7 reports the following newly-installed drivers:
Generic USB Hub
Sierra Wireless Device
Sierra Wireless Modem
Sierra Wireless DM Port (COM10)
Sierra Wireless CnS Port (COM9)
Sierra Wireless NMEA Port (COM7)
WiMAX Bus Driver
Sierra Wireless Network Adapter
WiMAX Network Adapter
Additional info is listed here: http://www.evdoforums.com/thread13930.html
I obtained a basic USB dump, but the supplied Sprint client appears to route traffic in some sort of non-USB manner (serial?) after initial device setup. If the 250U doesn't act as a USB key, is USB_ModeSwitch necessary?
-
Josh
- Site Admin
- Posts: 6593
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 06 Jul 2010, 09:50
I don't understand - are you asking about the Beceem or the Sierra ? These are two different devices, aren't they ?
-
Josh
- Site Admin
- Posts: 6593
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 07 Jul 2010, 08:13
Ah, I see. There seem to be two chipsets included.
GChriss wrote:If the 250U doesn't act as a USB key, is USB_ModeSwitch necessary?
If you see a memory stick when plugging the device in Linux, you probably need to switch the mode somehow.
For a definitive answer please post the output of "lsusb -v -d <inital-vendor-id>:<initial-product-id>" (run as superuser).
-
GChriss
- Posts: 5
- Joined: 05 Jul 2010, 21:44
Post
by GChriss » 07 Jul 2010, 16:05
Both 198f:0220 and 1199:0301 register simultanesouly upon plugin, but neither looks like USB mass storage.
Any ideas on how to connect to the internet with this device, or have Linux drivers simply not been developed?
lsusb -v -d 1199:0301
Code: Select all Bus 003 Device 057: ID 1199:0301 Sierra Wireless, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1199 Sierra Wireless, Inc.
idProduct 0x0301
bcdDevice 0.03
iManufacturer 1 Sierra Wireless, Incorporated
iProduct 2 Sierra Wireless Device
iSerial 4 4Vx��������
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 81
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 9
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
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 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 0x08 EP 8 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
lsusb -v -d 198f:0220
Code: Select all Bus 003 Device 058: ID 198f:0220 Beceem Communications Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
idVendor 0x198f Beceem Communications Inc.
idProduct 0x0220
bcdDevice 0.01
iManufacturer 1 Beceem Communications Inc.
iProduct 2 Mobile WiMax SS
iSerial 3 MSB220
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 111
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 6
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
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 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 4
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 6
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
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 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 4
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 4
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
-
Josh
- Site Admin
- Posts: 6593
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 07 Jul 2010, 17:24
Wow!! You plug one device in and you get two IDs ?
That's something new!
Your lsusb output shows that there is no storage with drivers anywhere on the device. This means it's ready to use (sort of) and doesn't need a mode switch.
Does the device come with a driver CD ? If not, is Windows installing any drivers upon plug-in ?
Regarding Linux drivers: there is a good chance that you get the 3/4G part of the device running. Try this: Code: Select all # modprobe -v option
# echo "1199 0301" > /sys/bus/usb-serial/drivers/option1/new_id
If you get some ttyUSB ports in /dev, try to connect using ttyUSB0 (or the lowest that was generated).
About the Beceem see the earlier post in this topic:
http://www.draisberghof.de/usb_modeswit ... =1940#1940
Funny "coincidence" on the Beceem web site - they are offering employment for someone able to write Linux USB drivers:
http://www.beceem.com/careers_jobs/host ... er_sc.html
-
GChriss
- Posts: 5
- Joined: 05 Jul 2010, 21:44
Post
by GChriss » 12 Jul 2010, 23:20
There is nothing special that happens when you plug the modem into a Windows machine, unless you first ran the installation CD.
echo "1199 0301" did indeed register /dev/ttyUSB0 -- and no other ttyUSB* devices.
Code: Select all wvdialconf /etc/wvdial.conf
Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S1 S2 S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: Sierra Wireless, Inc.
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Max speed is 9600; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
My /etc/wvdial.conf file:
Code: Select all [Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB0
ISDN = 0
Carrier Check = no
Stupid Mode = yes
Phone = #777
Username = ' '
Password = ' '
Which then stalls on:
Code: Select all wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT#777
--> Waiting for carrier.
--> Timed out while dialing. Trying again.
--> Sending: ATDT#777
--> Waiting for carrier.
ATDT#777
...so, any ideas on where to go from here? nm-applet also shows the device, but neither of the green orb indicators lights up.
-
GChriss
- Posts: 5
- Joined: 05 Jul 2010, 21:44
Post
by GChriss » 13 Jul 2010, 01:46
...err, looks like the modem has already been de-activated as it is being returned.
|
|