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
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
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
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.
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 :-(.
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 (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.
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
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
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/ (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.
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/ (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
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/ (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?
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/ (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
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'.
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
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
cytan congratulations.
As you say the next task is getting the unit talking to the world. The question is, how does the windows or the MAC talk to it? Looking at how they do it should show the the way OS/2 can talk to it. Unfortunately I'm unable to find a copy of the bundled software so have no idea as to what type of comms software is used.
ok :)
1) All usb applications should be compatible with USBRESMG.SYS + USBCALLS.DLL distributed with USB Dock (BETAZONE),
2)
Can you publish this utility? Many users were interested in such switcher.
Quote from: EugeneGorbunoff on 2009.07.08, 15:15:37
ok :)
1) All usb applications should be compatible with USBRESMG.SYS + USBCALLS.DLL distributed with USB Dock (BETAZONE),
2)
Can you publish this utility? Many users were interested in such switcher.
Once I get it documented I will upload it to hobbes.
cytan
Quote from: ivan on 2009.07.08, 14:42:47
cytan congratulations.
As you say the next task is getting the unit talking to the world. The question is, how does the windows or the MAC talk to it? Looking at how they do it should show the the way OS/2 can talk to it. Unfortunately I'm unable to find a copy of the bundled software so have no idea as to what type of comms software is used.
There is software which came with the modem that was installed the first time the modem was plugged in. However, it seems the LINUX guys have figured out what to set in the ppp dialer which I will try tonight.
cytan
P.S. this forum bug is really annoying me, even doing what was mentioned at on the front page of os2world does not allow me to see page 1! :(
QuoteHowever, it seems the LINUX guys have figured out what to set in the ppp dialer which I will try tonight.
Ah, that was what I would expect to find in the supplied software. Good luck.
This should come in eCS if it works to supplement the eCom Dialer.
There is no 'should' about it. If cytan wants to make it available it should be in a place accessible to all OS/2 users, after all the modeswitch program is available under the GPL as is libusb. This does not preclude it being put into eCS but it shouldn't be hidden away on some pay to use server.
Unbelievable, I'm positing this from my Cricket 3G usb modem!!!!!! I'm using injoy dialer rather than slippm because
(1) I'm following the instructions from www.os2voice.org/vnl/past_issues/VNL0606H/feature_1.html
(2) the max speed in slippm seems to be 38400bps, while in Injoy it's up to 345600bps.
BUT according to the LINUX guys, http://ubuntuforums.org/showthread.php?t=928957, it should be 460800bps. Is there a way to increase the bps in Injoy?
Thanks for all the help you guys gave me. I'll be documenting all this and will upload usb_modeswitch.exe as soon as I can.
cytan
Uggghhh, I'm getting disconnected and lose my connection after about 5 minutes. Question is whether a login is required every few minutes ... So my 3G kinda works but not quite yet. It is clearly slower than on my Mac. It's probably due to the slower speed but there's a possibility that the buffer sizes of usbcom.sys must be increased.
cytan
OK ... after changing the injoy ppp option from :FASTEST to DEFAULT, everything seems to work and I'm not dropping out att least for the last 30 min ;D . I'm declaring that this works, but I'd really like to squeeze out the last possible bit of speed though, so any ideas as to how to get it to 460800bps?
cytan
You may also look at modifying the USB driver to boost priority. It is somewhere in the ecomstation.ru docs. Our USB stack is... passive at best with resources and as such, is slow as hell.
I've uploaded usb_modeswitch to hobbes/incoming.
cytan
cytan,
Nice work!!!! :)
First, let me thank everyone, especially ivan for helping me get my modem working.
Now, I'm again back to the OS/2 community to try to figure out something weird:
(1) First connection using Injoy works great.
(2) Disconnect by hanging up in Injoy. Reconnect again with Injoy, I can connect to the web for a few times and then nothing can be found. Example:
ftp hobbes.nmsu.edu
works the first time and then trying to ftp again fails to find hobbes.
Injoy dialer shows no errors.It looks like there's no route to hobbes ...
The only way to get back to good web connection is to reboot.
Any pointers?
cytan
First of all : great work!
I've earlier used my mobilephone, LGU8130 (usb-connection) to surf the web. It worked excellnt first connection. Disconnecting and reconnecting gave me the same phenomena as for you. I had to reboot the phone but not the computer to make it work again. That time I used Ecsconet as dialer. I don't know why but hope it says something to you.
/Mikael
cytan, so far I've not been able to find the technical information on what chip set the device uses so the following is based on guess work.
Because the device requires a special setup string to activate it there is a possibility it also requires a special string to shut it down. If that is the case then there is not much chance of it working a second time without being hard reset.
I once had a USB modem that appeared as a comm device and would work with OS/2 the first time it was plugged in but not again unless it was unplugged and re-plugged. Looking at the communication stream sent to it by the supplied software -windows- I found it needed extra characters at shut down. I was able to add them to the hangup string and had no more problems.
If that is not the problem and you have to reboot OS/2 then I suspect problems with the USBRESMG.SYS and/or USBCALLS.DLL in which case we need to find out where the failure is.
I suspect there may be a hangup string because when I tell injoy to hangup, it always says that it tries to do it for 4 times and says:
failed to hangup modem!
then forces an exit. Why it does this, I don't know. However, something interesting is that when injoy hangs up when it detects that there has been no activity (say 15 minutes), I can reconnect and get to the web without a problem.
O, I've also tried hanging up and disconnect, reconnect the USB modem, but again the connect to the web only lasts maybe about a minute.
I'll have to investigate this further ... unless you guys have an insight as to what I should try.
cytan
Quote from: ivan on 2009.07.12, 15:47:45
cytan, so far I've not been able to find the technical information on what chip set the device uses so the following is based on guess work.
Because the device requires a special setup string to activate it there is a possibility it also requires a special string to shut it down. If that is the case then there is not much chance of it working a second time without being hard reset.
I once had a USB modem that appeared as a comm device and would work with OS/2 the first time it was plugged in but not again unless it was unplugged and re-plugged. Looking at the communication stream sent to it by the supplied software -windows- I found it needed extra characters at shut down. I was able to add them to the hangup string and had no more problems.
If that is not the problem and you have to reboot OS/2 then I suspect problems with the USBRESMG.SYS and/or USBCALLS.DLL in which case we need to find out where the failure is.
Quote from: cytan on 2009.07.12, 01:44:44
First, let me thank everyone, especially ivan for helping me get my modem working.
Now, I'm again back to the OS/2 community to try to figure out something weird:
(1) First connection using Injoy works great.
(2) Disconnect by hanging up in Injoy. Reconnect again with Injoy, I can connect to the web for a few times and then nothing can be found. Example:
ftp hobbes.nmsu.edu
works the first time and then trying to ftp again fails to find hobbes.
Injoy dialer shows no errors.It looks like there's no route to hobbes ...
The only way to get back to good web connection is to reboot.
Any pointers?
cytan
This may be silly... try mode switching the port (back to MSD)... then back again. Then see if it disconnects. Maybe that will free up whatever buffer, chip, connection, etc is possibly hanging.
Just a few more thoughts.
Since you can use it with InJoy then I'm assuming it uses at least part of the standard AT command set. To test that get a copy of Zap-O-Comm and set up logging then use the console to send AT commands and get the responses. You can also try different hangup commands and see what the results are.
If you don't have a copy of the AT command set let us know and I'll try and find the listing I have in my archive.
Just to confirm this observation. When injoy idle times out, I can dial and reconnect without a problem. I think the thing to do is to figure out what injoy does differently between idle time out and user hang up. I'm going to email injoy support to see what they say ...
cytan
Hi,
got a quesiton here: Did everything as described in the ReadMe (copied usbcall and usbresmrg.sys) - but when I start the usb_modeswitch.cmd it says: can not find usbmodeswitch.conf.
I did create a ETC Folder on my Bootdrive ( letter = O: ) and copied the conf there.
Do I have to place it somewhere else? I use eComStation 2 GA.
Thanks for help.
Sigurd
You can bet that it wants the usbmodeswitch.conf in %UNIXROOT%\ETC - so if no UNIXROOT variable is defined in config.sys it probably wont work.
If you set UNIXROOT to x:\MPTN where x: is your bootdrive, %ETC% and %UNIXROOT%\ETC will point to the same directory, which is IMHO a good idea (I know others don't think so).
We have/had similar issues with Samba.
Hi Herwig,
thanks for this answer. But I do have no knowledge at all about this (for me this sounds cryptic %..% - sorry!) - I do not know what command in config.sys I do have to add exactly, can you write it down for me, please?
While searching in eCS 2 I found the program "KLIBPATHREWRITER" (or similar) in the Systems Folder, do not understand what that means as well nor if it may be usefull here as well.
Thanks in Advance
Sigurd
Quote from: Sigurd on 2010.09.27, 10:15:25
...for me this sounds cryptic %..% - sorry!...
You should try some command line stuff :) f.i. 'echo %path%' displays the contents of your path environment variable usually set in your config.sys.
If you have 'set unixroot=o:\' in your config.sys or type it into a command line window (cmd.exe or 4os2.exe ;) ), 'echo %unixroot%' will display 'o:\'
Enviroment variable ETC is usually set during installation and put into your config.sys. I think in your case there is a line 'set ETC=O:\MPTN\ETC'. You can look into your config.sys or try on a command prompt 'echo %etc%' to see what is actually set. Maybe you try these steps -
open command window
set unixroot=o:\
set etc=etc
usb_modeswitch.cmd
HTH
P.S. At evening I'll have a look at my Notebook to see what I've done to let usb_modeswitch work.
Thanks Andi,
did pass this barrier because of your good explanation!
Try to pass the next one though ;)