• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

USB 3G EVDO Modem

Started by cytan, 2009.07.03, 06:16:02

Previous topic - Next topic

cytan

Hi all,
   I have a Cricket USB 3G EVDO Modem that works on MacOSX and Win$ for sure. I googled and found that it should also work in Linux if configured with:
******************
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &D2 +FCLASS=0
Modem Type = USB Modem
Baud = 460800
Modem = /dev/ttyACMO
ISDN = 0
; Phone = #777
; Username = **********@mycricket.com
; Password = cricket
*******************
See http://ubuntuforums.org/showthread.php?t=928957

I was hoping the usbcom.sys will see the modem and then I can just ppp and dial in. However, although usbcom.sys was installed to com5, doing a
   mode com5
gives a sys0021: The drive is not ready. It also gives the same error for com3 and com4 because I don't have anything installed to these com slots. mode com1 and mode com2 shows the serial ports as expected.

Is there anything else in config.sys which I need to enable? Or is this a lost cause?

cytan

melf

Hi Cytan.
To install the com-port you have to add, in your case  /N:COM5 after the usbcom.sys line in config.sys . For some more ideas take a look at http://www.os2voice.org/vnl/past_issues/VNL0606H/feature_1.html#usbcom8

/Mikael

cytan

Quote from: melf on 2009.07.03, 07:24:44
Hi Cytan.
To install the com-port you have to add, in your case  /N:COM5 after the usbcom.sys line in config.sys . For some more ideas take a look at http://www.os2voice.org/vnl/past_issues/VNL0606H/feature_1.html#usbcom8



I did have /N:COM5 after usbcom.sys. I think for some reason, OS/2 thinks that the modem is a storage device because after the modem is connected to its USB port:

(a) if connected before the PC is powered up, ecomstation boots and stops before eCenter starts. Disconnecting the modem allows eCenter to start.

(b) Running sysinfo/2 with the modem connected, it would hang at scanning for disks unless the modem is unplugged.

Do I need to REM out anything in my config.sys, or is there a newer patched version of usbcom.sys which I should use? I'm using version 1.1 dated 18/5/2000.

cytan

ivan

Check the specs for your USB modem.  I say that because some of them come with the software on what appears as a cd drive.  If the one you have is like that you will need the USBMSD.ADD with /REMOVABLES:<some number greater than 1> in your config.sys.  It might also help if you put /V after USBCOM.SYS to see what is says on loading.

You could also try the USBCOM_PL2303.zip from hobbes in case it is using the pl2303 com chip.

cytan

#4
Quote from: ivan on 2009.07.04, 02:51:04
Check the specs for your USB modem.  I say that because some of them come with the software on what appears as a cd drive.  If the one you have is like that you will need the USBMSD.ADD with /REMOVABLES:<some number greater than 1> in your config.sys.  It might also help if you put /V after USBCOM.SYS to see what is says on loading.

You could also try the USBCOM_PL2303.zip from hobbes in case it is using the pl2303 com chip.

Thanks for the pointer: you hit it right on the head that there is some software on the usb modem. When I first plugged in the usb modem on both a win$ machine or a Mac, it allowed me to install the cricket software from  it.

Unfortunately, adding /REMOVABLES:2 to usbmsd.add or /CDS:2 to usbcdrom.add did not allow the com port to be recognized. I did do a /V to usbcomm.sys to check that it did install to a com port.

I also tried putting in params /MAX_FLOPPY and /REMOVABLE_AS_FLOPPY but that didn't help at all ... :-(.

Any other pointers?

cytan

Update:
I installed Chris Wohlgemuth's cwusbmsd.add and it works better and now disk scanning by refresh removable hardware does not hang. Installing USBCOM_PL2303.zip's usbcom.sys did not allow the usb modem to be seen. My fear is that a new usbcom.sys must be built in order for the modem to be seen :-(.


ivan

You may be correct about needing a modified usbcom.sys depending on the com chip in the device.

One thing, with it plugged in what does USB Resource Manager say about it via the device report - if it finds it at all you will need a new usb.ids file to give all the details about it (you use the latest usb.ids file for linux http://www.linux-usb.org/usb.ids).

If you get full details from it post it here then we can see what it is we're dealing with.

cytan

Here's what the usbresource manager says:
****************************
<<< Device Description >>>
Type            : 01
USB Rev         : 110
Class           : Reserved (0)
Subclass        : Reserved (0)
Protocol        : Reserved (0)
  Device Information is defined at interface Level
Max. packetsize : 40
Vendor  ID      : 1F28
Product ID      : 0021
Device Release# : 0000
Strings:
  Manufacturer Name : Cal-comp E&CC Limited
  Product Name      : USB Micro SD Storage
  Serial number     : 215973138300
Number of Configurations : 1

Configuration 0 :
  Lenght     : 32
  Name       : <NONE>
  Value      : 1
  Attributes : 0xC0
  Power      : 100 mA
  Interfaces : 1

  Interface 0
   Alt Setting : 0
   Name        : <NONE>
   Class       : Storage Device
   SubClass    : SCSI transparent command set
   Protocol    : Bulk-Only Transport
   Endpoints   : 2

   Endpoint 0:
    Address     : 87
    Attributes  : 02
    Packetsize  : 0040
    Interval    : 0

   Endpoint 1:
    Address     : 08
    Attributes  : 02
    Packetsize  : 0040
    Interval    : 0
************************

It seems to see only the USB storage interface but no serial interface ...
Is this bad?
Note that vendor id 1F28 is NOT in the latest copy of usb.ids which I downloaded form the linux site!

cytan

cytan

#7
On a Mac, I get the following which is quite different from what OS/2 sees:
*************************
Full Speed device @ 3 (0x1D100000): .............................................   Communication device: "Cal-comp CDMA USB Modem A600  "
    Device Descriptor   
        Descriptor Version Number:   0x0110
        Device Class:   2   (Communication)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x1F28/0x0020   (unknown vendor)
        Device Version Number:   0x0000
        Number of Configurations:   1
        Manufacturer String:   1 "Cal-comp E&CC Limited "
        Product String:   2 "Cal-comp CDMA USB Modem A600  "
        Serial Number String:   0 (none)
    Configuration Descriptor   
        Length (and contents):   189
        Number of Interfaces:   7
        Configuration Value:   1
        Attributes:   0xA0 (bus-powered, remote wakeup)
        MaxPower:   500 ma
        Interface #0 - Communications-Control   
        Interface #1 - Communications-Data/Unknown Comm Class Model   
        Interface #2 - Vendor-specific   
        Interface #3 - Vendor-specific   
        Interface #4 - Vendor-specific   
        Interface #5 - Vendor-specific   
        Interface #6 - Mass Storage/SCSI 
****************************
Interface #6 which is the mass storage is what OS/2 sees, I think ...
cytan 

ivan

From what I've been able to find out this is a mode switching device i.e. it starts as a MSD and then switches to an ACM device.

The fact it shows more information on the MAC is because the software does the switching.  How we can do that with OS/2 is beyond me at the moment.  There is a program available for linux that will do it http://www.draisberghof.de/usb_modeswitch/ which might be portable to OS/2.

Other than that I think you are stuck with using it on the MAC or windows - if we get a port of virtualbox with USB support then it would be a different story.

cytan

Quote from: ivan on 2009.07.07, 13:56:04
From what I've been able to find out this is a mode switching device i.e. it starts as a MSD and then switches to an ACM device.

The fact it shows more information on the MAC is because the software does the switching.  How we can do that with OS/2 is beyond me at the moment.  There is a program available for linux that will do it http://www.draisberghof.de/usb_modeswitch/ which might be portable to OS/2.

Other than that I think you are stuck with using it on the MAC or windows - if we get a port of virtualbox with USB support then it would be a different story.

Thanks for doing the hard work for finding out what the problem is ... Unfortunately, this really does suck  :(

cytan

RobertM

Quote from: ivan on 2009.07.07, 13:56:04
There is a program available for linux that will do it http://www.draisberghof.de/usb_modeswitch/ which might be portable to OS/2.

Well, compiling it seems to require 32bit GCC 4.3.2 and libusb-0.1.12 - Paul already has GCC 4.4.0 compiled, so maybe this isnt something too difficult to recompile for OS/2?

And if so, would it properly interact with OS/2's USB subsystem/drivers?



|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


cytan

Quote from: RobertM on 2009.07.08, 00:22:24
Quote from: ivan on 2009.07.07, 13:56:04
There is a program available for linux that will do it http://www.draisberghof.de/usb_modeswitch/ which might be portable to OS/2.

Well, compiling it seems to require 32bit GCC 4.3.2 and libusb-0.1.12 - Paul already has GCC 4.4.0 compiled, so maybe this isnt something too difficult to recompile for OS/2?



I was actually able to compile it with gcc3.3.5 and Yuri Dario has libusb-0.1.10a-os2.zip on hobbes (unless there's a later version, please tell me where to download), I cannot get it to link.

gcc -Zomf -o usb_modeswitch.exe usb_modeswitch.o -llibusbpp_s.a -llibusb_s.a

I keep getting:

F:\tmp\ldconv_libusbpp_s_a_4654a53be7e161a80.lib(os2.obj) : error LNK2029: "UsbQueryDeviceReport" : unresolved external
F:\tmp\ldconv_libusbpp_s_a_4654a53be7e161a80.lib(os2.obj) : error LNK2029: "UsbQueryNumberDevices" : unresolved external
F:\tmp\ldconv_libusbpp_s_a_4654a53be7e161a80.lib(os2.obj) : error LNK2029: "UsbBulkRead" : unresolved external
F:\tmp\ldconv_libusbpp_s_a_4654a53be7e161a80.lib(os2.obj) : error LNK2029: "UsbBulkWrite" : unresolved external
F:\tmp\ldconv_libusbpp_s_a_4654a53be7e161a80.lib(os2.obj) : error LNK2029: "UsbCtrlMessage" : unresolved external
F:\tmp\ldconv_libusbpp_s_a_4654a53be7e161a80.lib(os2.obj) : error LNK2029: "UsbOpen" : unresolved external
F:\tmp\ldconv_libusbpp_s_a_4654a53be7e161a80.lib(os2.obj) : error LNK2029: "UsbClose" : unresolved external

I think it looks like compiler version mismatch ... I'll have to investigate this further. If anyone else have any clues as to what to do I'd appreciate it. The lib files that are in Yurio's directory are:

libusb.la     libusb_s.a    libusbpp.la   libusbpp_s.a

cytan

ivan

You need libusb-1.0.2 to go with usb-modeswitch-1.0.2.  From reading the 'porting' info in libusb it has been designed for porting to other OSs.  I also notice the config file for modeswitch has your device listed in it.

Looking for the information for you got me started in looking up information on a couple of USB Webcams I have - found linux drivers for one but they talk of compiling it into the kernel when I need a stand alone driver.  Not being a programmer I don't know where to start unlike hardware which is my 'thing'.


cytan

#13
Guess what, I actually managed to compile usb_modeswitch! It turns out the stuff that was missing came from usbcalls library which I downloaded from

http://en.ecomstation.ru/projects/usbtools/?action=down

Once I got that library everything compiled. But the problem now is that usb_modeswitch returns error -22 when it tries to send the message to the modem to try to switch it from storage mode to modem mode. I'll have to see what's wrong ...

Perhaps I really need to use the latest version of libusb rather than Yuri Dario's. I'll have to see if my skills are sufficient to fix this.

cytan


cytan

Ooo-hoo, I replaced the original USBRESMG.SYS with the one from ecomstation.ru (link above), the error message went away and the usb device actually switched from storage to modem!!!!!!

I did a mode com4 (which I had set in usbcom.sys), it actually showed something. Looks promising, will try to see if I can actually talk to it with ppp. Will keep you guys posted. Plus I'll upload usb_modeswitch.exe to hobbes later once I know that it actually works.

Time to go to bed (or quit while I'm ahead :) )

cytan