Date: Fri, 7 Dec 2007 18:44:12 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: "no@spam@mgedv.net" <nospam@mgedv.net> Cc: freebsd-questions@freebsd.org, freebsd-usb@freebsd.org Subject: Re: huawei e220 hsdpa on freebsd 6.3-BETA2 Message-ID: <200712071844.13529.hselasky@c2i.net> In-Reply-To: <001101c838b4$b7153bf0$14b1a8c0@bstandard.lan> References: <006701c8380d$e12ecc50$14b1a8c0@bstandard.lan> <200712062018.50262.hselasky@c2i.net> <001101c838b4$b7153bf0$14b1a8c0@bstandard.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 07 December 2007, no@spam@mgedv.net wrote: > > Your HSDPA modem presented itself like a mass storage device, probably > > with > > some autorun and virus like drivers intended for the Windows operating > > system :-) > > unfortunately, this is the "intended" behaviour. this device has the > ability to present itself as "mass storage" which will show up as a > cd-rom device where the windows drivers are stored on. > > this is the way it works under windows: > - plug it in first time > - (auto)run the setup on the device for the win-driver > - as soon as the driver is loaded, the cd device disappears and a modem is > detected > > but when loading the ucom/ubsa stuff before umass, the device will > not be recognised as /dev/cdX and show up as a communication device > (ucom). > > of course there must be a way for getting the serial device working, > because this is one of the most sold umts/hsdpa modems across eu and > many people run it under linux as well (there are no drivers from > the vendor provided except windows and mac). > i'm pretty sure there is some "message" or anything else which will > render this device switching to serial mode. > there is some code, which i found (doesn't compile/run under freebsd) > which "puts" this device in pure serial mode. maybe someone out there > is able to tell me, how/if this can be done on freebsd as well? > (btw, i'm not a c-guru) > > do you (or anybody else reading this) have an idea, how to get this > device working and put it in serial mode "completely" ? > Hi, You can try the following test program and see what happens. You need to run it like super-user: #include <stdio.h> #include <fcntl.h> #include <sys/ioctl.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <dev/usb/usb.h> int main(int argc, char **argv) { struct usb_ctl_request ucr = { /* zero */ }; int f; if (argc < 3) { printf("Usage: %s /dev/usb1 <addr>\n", argv[0]); return 1; } f = open(argv[1], O_RDWR); if (f < 0) { return 1; } ucr.ucr_addr = atoi(argv[2]); ucr.ucr_request.bmRequestType = 0; ucr.ucr_request.bRequest = 3; /* SET_FEATURE */ ucr.ucr_request.wValue[0] = 1; if (ioctl(f, USB_REQUEST, &ucr)) { printf("Error!\n"); } close (f); return 0; } Use "usbdevs -v" to get the parameters. Don't forget to load "umodem". If my program doesn't work, I suggest that you contact the manufacturer of your modem, and tell them the truth, that the device is a mass-storage device and that you want the money back! You paid for a modem, but got a mass-storage device. You can tell them that FreeBSD USB experts have looked at your device. There is no doubt about it that you've been fooled :-) --HPS HINT: HINT: Buy a HDSPA modem that comes with a CD-ROM. Then there is a greater chance that they did not put the drivers on the device itself.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712071844.13529.hselasky>