USB Modem detected - but not showing under Interfaces?
-
INSTRUCTIONS BY NEOTEL SELF:
Instructions for Use:
Steps are as follows (with sample explanation to follow):
-
modprobe the usbserial driver directly for the device
-
ppp dialer config
How to do it:
Plug in your modem, and then use the 'lsusb' command.
Code
user@linux:~$> lsusb
Bus 002 Device 002: ID 1d09:4000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Here we get the USB vendor and product ID's (the first one, in this case).
Now we load the 'usbserial' driver specifically for this device:
Code
user@linux:~$> sudo modprobe usbserial vendor=0x1d09 product=0x4000
As you can see, we use the first segment of the ID number as the vendor,
and the second segment as the product ID, both with 0x prepended.
Now, we check /dev to see that the devices are there:
Code:
user@linux:~$>ls /dev/ttyU*
/dev/ttyUSB0 /dev/ttyUSB1
Next step is to configure the ppp connection.
Since this example is done on an Ubuntu installation, we can use the Debian pppconfig utility
Code:
user@linux:~$> sudo pppconfig
In this utility, you enter the your username, password and the telephone number as needed, and then save the connection.
Be sure to pick a descriptive name, as it is what you will be using to dial it up. Exit, and then we're ready to dial.
Dialing on Ubuntu:
Code:
user@linux:~$> sudo pon neotel
Where "neotel" is the connection name you picked in setup.
And that's it. At this point if nothing went wrong, you'll have a fully working ppp0 connection up.
Code:
ifconfig | grep ppp0
-
-
The recent snapshot of pfSense that I downloaded is missing a few components (kgdb and kernel symbols) I hoped to use in the procedure to see if Zani's modem would work with the u3g driver. So here's a way of testing the theory with a standard FreeBSD 8.1:
-
(if necessary) install FreeBSD 8.1
-
Boot FreeBSD 8.1 without the modem plugged in.
-
Login as root and type the bold parts of the following:
kgdb -w /boot/kernel/kernel /dev/mem
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"…
#0 sched_switch (td=0xc09cdf10, newtd=0xc2d35780, flags=260) at ../../../kern/sched_ule.c:1850
1850 cpuid = PCPU_GET(cpuid);
(kgdb) p/x u3g_devs[0]
$1 = {driver_info = 0x0, idVendor = 0x4a5, idProduct = 0x4068, bcdDevice_lo = 0x0, bcdDevice_hi = 0x0, bDeviceClass = 0x0,
bDeviceSubClass = 0x0, bDeviceProtocol = 0x0, bInterfaceClass = 0x0, bInterfaceSubClass = 0x0, bInterfaceProtocol = 0x0,
match_flag_vendor = 0x1, match_flag_product = 0x1, match_flag_dev_lo = 0x0, match_flag_dev_hi = 0x0,
match_flag_dev_class = 0x0, match_flag_dev_subclass = 0x0, match_flag_dev_protocol = 0x0, match_flag_int_class = 0x0,
match_flag_int_subclass = 0x0, match_flag_int_protocol = 0x0, match_flags = 0x0}
(kgdb) set u3g_devs[0].idVendor = 0x1d09
(kgdb) set u3g_devs[0].idProduct = 0x4000
(kgdb) p/x u3g_devs[0]
$2 = {driver_info = 0x0, idVendor = 0x1d09, idProduct = 0x4000, bcdDevice_lo = 0x0, bcdDevice_hi = 0x0, bDeviceClass = 0x0,
bDeviceSubClass = 0x0, bDeviceProtocol = 0x0, bInterfaceClass = 0x0, bInterfaceSubClass = 0x0, bInterfaceProtocol = 0x0,
match_flag_vendor = 0x1, match_flag_product = 0x1, match_flag_dev_lo = 0x0, match_flag_dev_hi = 0x0,
match_flag_dev_class = 0x0, match_flag_dev_subclass = 0x0, match_flag_dev_protocol = 0x0, match_flag_int_class = 0x0,
match_flag_int_subclass = 0x0, match_flag_int_protocol = 0x0, match_flags = 0x0}
(kgdb) quitThis changes an entry in the u3g driver's table of devices it recognises so it will recognise the Neotel modem.
-
Plug in the modem. On the console the system should report a u3g device.
-
Configure and attempt to use the u3g interface. I'm hoping to get a 3G modem later this week. I may be able to provide more configuration details later ths week or early next week.
If the modem works with the (slightly modified) u3g driver you can submit a problem report to the FreeBSD developers to get the corresponding change into the source code and work on the pfSense developers to get it into pfSense.
-
-
Download the file from here.
http://www.mediafire.com/?bcsv0efbdq3boyxPut it in /boot/kernel on the pfSense install and reboot.
Is your modem detected after rebooting?This is patched kernel with your ids.
-
Thanks so far Wallabybob: :)
I have to download FreeBSD 8.1 -
The # kgdb -w /boot/kernel/kernel /dev/mem was not recocnized by PfSense.So I tried Ermal's [thanks!]kernel file - with no luck so far.
Ermal, I need to understand this kernel file - did you put the missing components in there?
My next step is to download FreeBSD8.1 - this can take a while…
PS
;D IT SEEMS I WAS NOT LOOKING PROPERLY - SEE DOWN BELOW! ;D
AND ERMAL - WHAT DID YOU DO! :D - We need to know! Just the ID's? How?
And is the future kernel going to have it? -
Zani tell me if this device appears as a umass first or not?!
Its quite difficult without haveing a device locally, actually.
-
No USB Mass Storage Device that I can see at a glance - but - how do I test for one?
-
dmesg | grep umass
-
Thanks Perry; dmesg | grep umass gives no results, dmesg gives:
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 480Mbps High Speed USB v2.0
and
ugen0.1: <sis>at usbus0
uhub0: <sis 1="" 9="" ohci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus0
ugen1.1: <sis>at usbus1
uhub1: <sis 1="" 9="" ohci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus1
ugen2.1: <sis>at usbus2
uhub2: <sis 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">on usbus2
uhub0: 3 ports with 3 removable, self powered
uhub1: 3 ports with 3 removable, self powered
uhub2: 6 ports with 6 removable, self powered
ugen1.2: <vendor 0x0e6a="">at usbus1
ukbd0: <hid keyboard="" device="">on usbus1
kbd2 at ukbd0
uhid0: <hid keyboard="" hot="" keys="">on usbus1
and
ugen0.2: <dupont, incorporated="">at usbus0
u3g0: <data interface="">on usbus0
u3g0: Found 2 ports.</data></dupont,>I obviously have it on the slow port….
I suddenly can see
/dev/cuaU0.0
/dev/cuaU0.1
under link interfaces in PPPs under Interfaces! ;DI don't know how I missed it earlier - SEE ABOVE. [Maybe I only looked under PPPoE]
Ill let you know if it works properly!
Neotel is not listed as a service provider - all the others [cellphones] are there..</hid></hid></vendor></sis></sis></sis></sis></sis></sis> -
Still setting it up, got both ports connected, bridged them, can disconnect one at a time, but still no traffic through.
Still fiddling and trying to get the right info to read - not so easy to find…... ??? -
The Question is: should the modems 2 ports be bridged? ???
-
The Question is: should the modems 2 ports be bridged? ???
Probably not, but it depends on what you are trying to do. And bridged to what? And which two ports? (I have the impression that some 3G modems have one 'port' for data and another 'port' for control functions and/or reporting. I can't say about your modem. But almost certainly you wouldn't want to bridge a 'reporting port' to anything else. )
-
Wallabybob,
I contacted the USB driver writers at FreeBSD with all the needed info:
Hans Petter Selasky & Nick Hibma
But we still need someone to explain the whole process for the uninformed.
You were going to get a 3g modem - please write us your process to get the modem driver adapted.
My goal still is to get everybody to be able to do this. -
Ermal if you could share the patch - we would be grateful - especially if you could share the "how to"
-
But we still need someone to explain the whole process for the uninformed.
You were going to get a 3g modem - please write us your process to get the modem driver adapted.Please elaborate on what you mean by the whole process.
I ordered a 3G modem online early Monday morning. It was going to be delivered Tuesday. By mid Thursday it hadn't appeared so I called and was told it would be delivered Friday. Its now late Friday evening and it still hasn't been delivered.
I suspect its a bit premature to "get the modem driver adapted". You haven't provided any evidence yet that its performing properly.
-
No, I could not get it to connect again - status interfaces , connect [ Neotel (ppp0) or (ppp1) ]
Something I have not mentioned - this is dual wan, the one connection goes through Telkom, the first operator via ethernet connection. Neotel is SA's second operator.
I set up Routing - the gateways Neotel & Telkom - Telkom as defaulted as default, Groups with both as tier 1
autodial is selected on Neotel… and status still down.
I now set Telkom as Tier2 & made sure the Firewall rules see the gateway as the Gateway Group I made with Telkom & Neotel A+B ports.
But I am still writing this via Telkom…. -
Zani,
maybe back up your config and reset to defaults, and then start with a simple single connection through the Neotel to make sure your 3G connection is working.GB
-
Ill try this…. ;)
-
You need only ONE of the two cuaUx.x ports for Data. The other one is to access the modem for management purposes. You'll have to try them both to see which works.
Or, you can use the "tip" program on the pfSense box in conjunction with the /etc/remote file to talk to the ports via the command line. The AT command set for 3G modems is public on the net, so you can see which commands to send to the ports to test for which port is the one for data.
If you decide to do this, the /etc/remote file looks like this at the end of the file:
ucom5:dv=/dev/cuaU4:br#9600:pa=none:
ucom6:dv=/dev/cuaU5:br#9600:pa=none:
ucom7:dv=/dev/cuaU6:br#9600:pa=none:
ucom8:dv=/dev/cuaU7:br#9600:pa=none:Just add two lines to the file that look like this:
neo1:dv=/dev/cuaU0.0:br#9600:pa=none:
neo2:dv=/dev/cuaU0.1:br#9600:pa=none:then at the command prompt type
tip neo1
OR
tip neo2and you'll be talking directly to the modem.
type AT to the modem and you should get "OK" back on either port.
type ATI or (ati) and see the modem manufacturer and model info, etc.
type at+csq to see the radio signal strength.also . . .
~^D or ~.
Drop the connection to the modem and exit.I'm on OS X and the ~. sequence exits my pfSense connection, but the ~^D just exits the tip program.
-
pfSense should automatically detect which is the data port for you on latest snapshots.
For the @freebsd.org devs, which i am part of too, i will update them as soon as you prove that it is working correctly.
-
Hi, I had great difficulty to log onto this forum the last few days. Ill do as you say. Thanks all!