• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

USB Modem detected - but not showing under Interfaces?

2.0-RC Snapshot Feedback and Problems - RETIRED
6
58
51.9k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Z
    Zani
    last edited by Aug 5, 2010, 6:55 PM Aug 5, 2010, 6:37 PM

    Firstly the Linux driver for smoothwall. I tested it back and forth and attach it again :-\ There are 3 copies now… it contains folders.
    Secondly the modem is USB only
    I would have liked another option with ethernet.
    Wallabybob, if you could open the linux driver , can it be used?

    Let us try to get a way to make drivers. 8)

    Yes - I have been reading about reverse engineering the windows USB drivers for Linux.
    U start the USB device in Windows, with its correct drivers, and snoop what they do and how they are functioning.
    SniffUSB 2.0 then creates the log files.
    [Emacs is then used to read the info]
    One would use the log files generated to create a simple libusb skeleton driver through a perl parser.
    Windows have 3 drivers for it:  The modem driver, a composite usb driver, and a diagnostic driver. All their log files is included.

    I don't know how to use the last yet.
    I created  the modems log files. Took me quite a while. I have a second set if there are a need.
    Attached are my log files, again remove.txt. to get the zipped file. ;)

    And yes, let us document the process so that PfSense USB drivers get well populated.

    So let us document each step and at success, post a new How to USB Drivers post - summing up each step.

    [usb - Copy.tgz.txt](/public/imported_attachments/1/usb - Copy.tgz.txt)
    DupontLogs.zip.txt

    1 Reply Last reply Reply Quote 0
    • W
      wallabybob
      last edited by Aug 5, 2010, 10:32 PM

      @dimi3:

      I have the same problem with Vodafone (Huawei) K3765. the modem is detected but not shown under interfaces

      The u3g driver does not have that Huawei device in its table of known devices. The fact that FreeBSD calls it ugen1.2 indicates the kernel doesn't have a driver that specifically knows about that device so the USB "generic" device driver has attached to it.

      Perhaps this device is "similar enough" to the other Huawei devices already supported by the u3g driver, perhaps its substantially different.

      I suggest you discuss this with the authors of the FreeBSD u3g driver: Andrea Guzzo aguzzo@anywi.comand Nick Hibma n_hibma@freebsd.org@dimi3:

      With Huawei E220 its working nice but I would like to have 7.2Mbit modem atached.

      It could take a while to get this issue sorted out. The Huawei E1762 and E169 both appear to be supported in FreeBSD 8.1 (see http://azrixx.blogspot.com/2010/05/simple-way-to-use-huawei-e1762-maxis.html and http://www.listware.net/201007/freebsd-mobile/36378-australian-3g-pppconf.html FreeBSD) and both appear to support the 7.2Mbps mode (see http://www.3gmodem.com.hk/Huawei/E169.html and http://www.3gmodem.com.hk/Huawei/E1762.html) although it has been reported that the E1762 is "faster" than the E169 (see http://forums.whirlpool.net.au/forum-replies-archive.cfm/1288764.html)./n_hibma@freebsd.org/aguzzo@anywi.com

      1 Reply Last reply Reply Quote 0
      • W
        wallabybob
        last edited by Aug 5, 2010, 10:53 PM

        @Zani:

        Firstly the Linux driver for smoothwall. I tested it back and forth and attach it again :-\

        I originally downloaded it to a Linux system. I have now downloaded the copy to a windows system and WinZip reports "Trailing garbage in GZIP file" and refuses to show me anything in the archive. In both cases I downloaded with Firefox. What are you doing differently to what I've done?

        What you have outlined is certainly possible but can take considerably longer to actually do than it does to describe it.

        1 Reply Last reply Reply Quote 0
        • Z
          Zani
          last edited by Aug 6, 2010, 2:01 PM Aug 6, 2010, 6:32 AM

          It does seem to be changed when I download the drivers from the post like you did.
          That means I have to think of something else…. >:(

          Anyone that want to look at any of the zipped files, send me a private message.
          Email is the answer….. I SHALL SEND THEM TO YOU :'(

          1 Reply Last reply Reply Quote 0
          • Z
            Zani
            last edited by Aug 6, 2010, 5:55 PM Aug 6, 2010, 7:26 AM

            Here are the Window USBSniff log files for reverse engineering,  - they are .txt - but maybe rename to .log for use in Emacs  to create a driver from them ….

            The USB modem driver logs

            [MODEM - INIT.log.txt](/public/imported_attachments/1/MODEM - INIT.log.txt)
            [MODEM DIAL MANAGER STARTED.log.txt](/public/imported_attachments/1/MODEM DIAL MANAGER STARTED.log.txt)
            [MODEM DIALED.log.txt](/public/imported_attachments/1/MODEM DIALED.log.txt)
            [MODEM DISCONNECTED.log.txt](/public/imported_attachments/1/MODEM DISCONNECTED.log.txt)
            [MODEM STOPPED.log.txt](/public/imported_attachments/1/MODEM STOPPED.log.txt)

            1 Reply Last reply Reply Quote 0
            • Z
              Zani
              last edited by Aug 6, 2010, 7:54 AM

              Driver 2 Composite USB Driver:

              [COMPOSITE USB - INIT.log.txt](/public/imported_attachments/1/COMPOSITE USB - INIT.log.txt)
              [COMPOSITE USB DIAL MANAGER STARTED.log.txt](/public/imported_attachments/1/COMPOSITE USB DIAL MANAGER STARTED.log.txt)
              [COMPOSITE USB DIALED.log.txt](/public/imported_attachments/1/COMPOSITE USB DIALED.log.txt)

              1 Reply Last reply Reply Quote 0
              • Z
                Zani
                last edited by Aug 6, 2010, 7:55 AM

                Composite diver remaining logs:

                [COMPOSITE USB DISCONNECTED.log.txt](/public/imported_attachments/1/COMPOSITE USB DISCONNECTED.log.txt)
                [COMPOSITE USB STOPPED.log.txt](/public/imported_attachments/1/COMPOSITE USB STOPPED.log.txt)

                1 Reply Last reply Reply Quote 0
                • Z
                  Zani
                  last edited by Aug 6, 2010, 7:57 AM

                  Driver 3 - Diagnostic driver:

                  [DIAGNOSTICS on modem - INIT.log.txt](/public/imported_attachments/1/DIAGNOSTICS on modem - INIT.log.txt)
                  [DIAGNOSTICS on modem DIAL MANAGER STARTED.log.txt](/public/imported_attachments/1/DIAGNOSTICS on modem DIAL MANAGER STARTED.log.txt)
                  [DIAGNOSTICS on modem DIALED.log.txt](/public/imported_attachments/1/DIAGNOSTICS on modem DIALED.log.txt)

                  1 Reply Last reply Reply Quote 0
                  • Z
                    Zani
                    last edited by Aug 6, 2010, 7:59 AM

                    Diagnostic driver remaining logs:

                    [DIAGNOSTICS on modem DISCONNECTED.log.txt](/public/imported_attachments/1/DIAGNOSTICS on modem DISCONNECTED.log.txt)
                    [DIAGNOSTICS on modem STOPPED.log.txt](/public/imported_attachments/1/DIAGNOSTICS on modem STOPPED.log.txt)

                    1 Reply Last reply Reply Quote 0
                    • W
                      wallabybob
                      last edited by Aug 7, 2010, 12:53 AM

                      I looked at http://mybroadband.co.za/vb/showthread.php/171823-How-I-got-Neotel-running-on-Ubuntu-9.04… and the Linux source file patched by the procedure.

                      It looks to me that just adding the IDs for the "Neotel" modem to the Linux driver that handles a lot of 3G USB modems was sufficient to get this modem working on Linux. This suggests that just adding the Neotel modem IDs to the FreeBSD 3G USB modem driver might just be enough to get it working.

                      I'll try to put aside some time in the next few days to work out a binary patch procedure for the kernel to replace one of the existing IDs.

                      1 Reply Last reply Reply Quote 0
                      • P
                        Perry
                        last edited by Aug 7, 2010, 6:08 AM

                        Don't know if it will help you wallabybob but it shows how support for E1752 was added.
                        http://lists.freebsd.org/pipermail/freebsd-usb/2010-February/008294.html
                        http://svn.freebsd.org/viewvc/base?view=revision&revision=206306

                        /Perry
                        doc.pfsense.org

                        1 Reply Last reply Reply Quote 0
                        • Z
                          Zani
                          last edited by Aug 7, 2010, 6:11 PM Aug 7, 2010, 4:28 PM

                          **Thanks  Wallabybob, I think you are on the right track. ;)  **

                          Also - the USBSnoop/Sniff log files can help with what you actually have to do.
                          i it does, please let us know - so that others can follow….
                          Did you get my private message? i gave you my e-mail address so that I can give you the Linix diver - [also written by an Australian]

                          1 Reply Last reply Reply Quote 0
                          • Z
                            Zani
                            last edited by Aug 7, 2010, 4:56 PM

                            Using USBSniffing-Snooping to reverse engineer Windows drivers for Linux:
                            http://www.jespersaur.com/drupal/book/export/html/21
                            http://groups.google.com/group/microdia/web/usb-sniffing-on-windows
                            http://groups.google.com/group/microdia/web/reverse-engineering-windows-drivers
                            http://groups.google.com/group/microdia/web/howto-write-your-init-driver-function

                            1 Reply Last reply Reply Quote 0
                            • Z
                              Zani
                              last edited by Aug 7, 2010, 6:10 PM Aug 7, 2010, 5:05 PM

                              Thanks Perry.
                              A Note: The modem speed is 2.4 Mbps - if you need to take into account when writing the driver….

                              1 Reply Last reply Reply Quote 0
                              • W
                                wallabybob
                                last edited by Aug 7, 2010, 11:42 PM

                                @Zani:

                                **Thanks  Wallabybob, I think you are on the right track. ;) **

                                @Zani:

                                A Note: The modem speed is 2.4 Mbps - if you need to take into account when writing the driver….

                                Ah, The perils of volunteering!  :)

                                Please be clear about this! I haven't signed up to write a FreeBSD device driver for this device. I did sign up to INVESTIGATE if I could provide a way to get the existing FreeBSD u3g driver to attach to the device so someone could investigate if it would then function correctly enough to be useful.

                                Zani: I did get your email. By that stage I had already found the link I posted earlier, showing a patch procedure for the Linux driver.

                                @Perry:

                                Don't know if it will help you wallabybob but it shows how support for E1752 was added.

                                This involved adding the IDs for the E1752 to the u3g driver table AND adding a new initialisation function. The link I posted earlier for the Linux driver update just added the IDs.

                                1 Reply Last reply Reply Quote 0
                                • Z
                                  Zani
                                  last edited by Aug 9, 2010, 6:41 PM Aug 9, 2010, 6:44 AM

                                  Wallabybob I do understand :)

                                  In the meantime I gave Hans Petter Selasky the info,
                                  and about the getting the driver working under Ubuntu [Code:

                                  [b]// +++ chrisb

                                  #define NEOTEL_DEVICE_VENDOR_ID 0x1d09

                                  #define NEOTEL_DEVICE_PRODUCT_ID 0x4000

                                  // +++[/b]

                                  "and then in the struct add:" (the line in colour)

                                  Code:

                                  [b]Static struct USB_device_id option_ids[] = {

                                  { USB_DEVICE(NEOTEL_DEVICE_VENDOR_ID, NEOTEL_DEVICE_PRODUCT_ID) },

                                  { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },

                                  { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
                                  [/b]

                                  Save and close gedit.

                                  "To compile:"

                                  Code:

                                  [b]$ cd /usr/src/Linux-source-2.6.28/drivers/USB/serial/

                                  $ make -C /lib/modules/uname -r/build M=pwd[/b]

                                  If successful you should see a long list without errors resembling the following:

                                  Code:

                                  [b]Make: Entering directory `/usr/src/Linux-headers-2.6.24-21-generic'

                                  LD /usr/src/Linux-source-2.6.24/drivers/USB/serial/built-in.o

                                  CC [M] /usr/src/Linux-source-2.6.24/drivers/USB/serial/USB-serial.o

                                  CC [M] /usr/src/Linux-source-2.6.24/drivers/USB/serial/generic.o

                                  CC [M] /usr/src/Linux-source-2.6.24/drivers/USB/serial/bus.o

                                  ....

                                  Make: Leaving directory `/usr/src/Linux-headers-2.6.24-21-generic'[/b]

                                  "Backup the old drivers"

                                  Code:

                                  [b]$ mv /lib/modules/2.6.28-11-generic/kernel/drivers/USB/serial/option.ko /lib/modules/2.6.28-11-generic/kernel/drivers/USB/serial/option.ko.backup[/b]

                                  "Now add new drivers (compiled):"

                                  Code:

                                  [b]$ cp /usr/src/Linux-source-2.6.28/drivers/USB/serial/option.ko /lib/modules/2.6.28-11-generic/kernel/drivers/USB/serial/option.ko[/b]

                                  "You also need to load the new option:"

                                  Code:

                                  [b]$ gedit /etc/modules[/b]

                                  "And just add to the end of the file:"

                                  Code:

                                  [b]Option[/b]

                                  Reboot your computer, open a terminal again and type:

                                  Code:

                                  [b]$ lsusb[/b]

                                  Which should produce, among others:

                                  Code:
                                  [b]
                                  Bus 002 Device 002: ID 1d09:4000 TechFaith Wireless Technology Limited[/b]

                                  [b]Step 3) [/b]

                                  Open a terminal and type:

                                  Code:

                                  [b]$ sudo -s[/b]

                                  And then:

                                  Code:

                                  [b]$ wvdialconf[/b]

                                  Which should produce something similar to:

                                  Code:

                                  [b]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: QUALCOMM INCORPORATED

                                  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

                                  WvModem<*1>: Cannot get information for serial port.

                                  ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud

                                  ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud

                                  ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

                                  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"
                                  [/b]

                                  Now run:

                                  [b]$ gedit /etc/wvdial.conf[/b]

                                  Copy and paste the following and change your username and password:

                                  Code:

                                  [b][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

                                  Stupid Mode = 1

                                  Phone = #777

                                  Modem = /dev/ttyUSB0

                                  Username = 1234567890@neotel.co.za

                                  Dial Command = ATDT

                                  Password = 1234

                                  Baud = 460800

                                  PPPD Options = crtcts multilink usepeerdns lock defaultroute

                                  [Dialer neotel]

                                  Init1 = ATZ

                                  Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

                                  Baud = 460800

                                  Stupid Mode = 1

                                  Modem = /dev/ttyUSB0

                                  Modem Type = USB Modem

                                  Dial Command = ATDT

                                  PPPD Options = crtcts multilink usepeerdns lock defaultroute
                                  [/b]

                                  Save and close gedit
                                  [b]
                                  Step 4)[/b]

                                  In the terminal, as any user, type:

                                  [b]$ wvdial[/b]

                                  Which, if successful, should result in:

                                  --> 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. ATDT#777 CONNECT

                                  --> Carrier detected. Starting PPP immediately.

                                  --> Starting pppd at Thu May 14 22:59:46 2009

                                  --> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied

                                  --> --> PAP (Password Authentication Protocol) may be flaky.

                                  --> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied

                                  --> --> CHAP (Challenge Handshake) may be flaky.

                                  --> Pid of pppd: 4541

                                  --> Using interface ppp0

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> local IP address 41.174.2.250

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> remote IP address 2.2.2.2

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> primary DNS address 41.160.0.36

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  --> secondary DNS address 41.160.0.37

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  and a fully working internet connection!!!!! :D

                                  to disconnect, in the terminal that is running wvdial, hold ctrl-c

                                  For a graphical way of dialing...

                                  Install Gnome-PPP, it uses wvdial as it's backend and works perfectly.

                                  " target="_blank"> he wrote:

                                  His answer :
                                  I think the driver is called uhso.c, see /sys/dev/usb/net/uhso.c . Maybe there
                                  is a missing VID+PID in the table there if it does not get detected under
                                  FreeBSD 8+.

                                  –HPS

                                  Fredrik Lindberg's answer on HPS:

                                  I don't recognize the device name nor the IDs. If it's a standard plain
                                  serial modem for use with ppp then u3g is most likely the correct
                                  driver.

                                  Fredrik

                                  So now I repeat the Ubuntu process from the forum for the sake of comprehensiveness:

                                  How I [somebody else] got Neotel running on Ubuntu 9.04…

                                  Decided to install Jaunty as my Hardy was very messy. I've been running Linux since Breezy but still regard myself as a noobie.

                                  After much trial and tribulation, and many failed attempts on Hardy, I finally got my Neotel Prime running, first time round on Jaunty.

                                  Following is a step-by-step process which I take NO CREDIT for!

                                  I am merely posting this in an attempt to make the process a bit easier to understand and follow for all Linux(Ubuntu) users out there wishing to use Neotel.

                                  This was done on a fresh installation of Ubuntu 9.04 Jaunty Jackalope.

                                  It helps having an Internet connection for the first step of the process... Otherwise packages can be downloaded seperately and Google will provide details on unpacking and installing.

                                  Step 1)

                                  First download the necessary packages we need.

                                  Open System>Administration>Synaptic Package Manager

                                  Find and install:

                                  Code:

                                  **1) wvdial

                                  1. Linux-source**

                                  If the above are not listed, open terminal, use the code(s):

                                  Code:

                                  **1) $ sudo apt-get install wvdial

                                  1. $ sudo apt-get install Linux-source**

                                  Step 2)

                                  Open a terminal and type:

                                  Code:

                                  **$ sudo -s

                                  $ cd /usr/src

                                  $ tar xjvf Linux-source-2.6.28.tar.bz2

                                  $ gedit /usr/src/Linux-source-2.6.28/drivers/USB/serial/option.c**

                                  "Now look for static struct USB_device_id option_ids[] about line 300 and add the following just above it:"

                                  Code:

                                  **// +++ chrisb

                                  #define NEOTEL_DEVICE_VENDOR_ID 0x1d09

                                  #define NEOTEL_DEVICE_PRODUCT_ID 0x4000

                                  // +++**

                                  "and then in the struct add:" (the line in colour)

                                  Code:

                                  **Static struct USB_device_id option_ids[] = {

                                  { USB_DEVICE(NEOTEL_DEVICE_VENDOR_ID, NEOTEL_DEVICE_PRODUCT_ID) },

                                  { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },

                                  { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },**

                                  Save and close gedit.

                                  "To compile:"

                                  Code:

                                  **$ cd /usr/src/Linux-source-2.6.28/drivers/USB/serial/

                                  $ make -C /lib/modules/uname -r/build M=pwd**

                                  If successful you should see a long list without errors resembling the following:

                                  Code:

                                  **Make: Entering directory `/usr/src/Linux-headers-2.6.24-21-generic'

                                  LD /usr/src/Linux-source-2.6.24/drivers/USB/serial/built-in.o

                                  CC [M] /usr/src/Linux-source-2.6.24/drivers/USB/serial/USB-serial.o

                                  CC [M] /usr/src/Linux-source-2.6.24/drivers/USB/serial/generic.o

                                  CC [M] /usr/src/Linux-source-2.6.24/drivers/USB/serial/bus.o

                                  ….

                                  Make: Leaving directory `/usr/src/Linux-headers-2.6.24-21-generic'**

                                  "Backup the old drivers"

                                  Code:

                                  $ mv /lib/modules/2.6.28-11-generic/kernel/drivers/USB/serial/option.ko /lib/modules/2.6.28-11-generic/kernel/drivers/USB/serial/option.ko.backup

                                  "Now add new drivers (compiled):"

                                  Code:

                                  $ cp /usr/src/Linux-source-2.6.28/drivers/USB/serial/option.ko /lib/modules/2.6.28-11-generic/kernel/drivers/USB/serial/option.ko

                                  "You also need to load the new option:"

                                  Code:

                                  $ gedit /etc/modules

                                  "And just add to the end of the file:"

                                  Code:

                                  Option

                                  Reboot your computer, open a terminal again and type:

                                  Code:

                                  $ lsusb

                                  Which should produce, among others:

                                  Code:
                                  Bus 002 Device 002: ID 1d09:4000 TechFaith Wireless Technology Limited

                                  Step 3)

                                  Open a terminal and type:

                                  Code:

                                  $ sudo -s

                                  And then:

                                  Code:

                                  $ wvdialconf

                                  Which should produce something similar to:

                                  Code:

                                  **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: QUALCOMM INCORPORATED

                                  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

                                  WvModem<*1>: Cannot get information for serial port.

                                  ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud

                                  ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud

                                  ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

                                  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"</info>**

                                  Now run:

                                  $ gedit /etc/wvdial.conf

                                  Copy and paste the following and change your username and password:

                                  Code:

                                  **[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

                                  Stupid Mode = 1

                                  Phone = #777

                                  Modem = /dev/ttyUSB0

                                  Username = 1234567890@neotel.co.za

                                  Dial Command = ATDT

                                  Password = 1234

                                  Baud = 460800

                                  PPPD Options = crtcts multilink usepeerdns lock defaultroute

                                  [Dialer neotel]

                                  Init1 = ATZ

                                  Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

                                  Baud = 460800

                                  Stupid Mode = 1

                                  Modem = /dev/ttyUSB0

                                  Modem Type = USB Modem

                                  Dial Command = ATDT

                                  PPPD Options = crtcts multilink usepeerdns lock defaultroute**

                                  Save and close gedit
                                  Step 4)

                                  In the terminal, as any user, type:

                                  $ wvdial

                                  Which, if successful, should result in:

                                  –> 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. ATDT#777 CONNECT

                                  --> Carrier detected. Starting PPP immediately.

                                  --> Starting pppd at Thu May 14 22:59:46 2009

                                  --> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied

                                  --> --> PAP (Password Authentication Protocol) may be flaky.

                                  --> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied

                                  --> --> CHAP (Challenge Handshake) may be flaky.

                                  --> Pid of pppd: 4541

                                  --> Using interface ppp0

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  –> pppd: 0 [1c][08]P [1c][08]

                                  –> pppd: 0 [1c][08]P [1c][08]

                                  –> pppd: 0 [1c][08]P [1c][08]

                                  –> pppd: 0 [1c][08]P [1c][08]

                                  –> local IP address 41.174.2.250

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  –> remote IP address 2.2.2.2

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  –> primary DNS address 41.160.0.36

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  –> secondary DNS address 41.160.0.37

                                  --> pppd: 0 [1c][08]P [1c][08]

                                  and a fully working internet connection!!!!! :D

                                  to disconnect, in the terminal that is running wvdial, hold ctrl-c

                                  For a graphical way of dialing…

                                  Install Gnome-PPP, it uses wvdial as it's backend and works perfectly.</info>](he wrote:<br /><br />His answer :<br />[color]I think the driver is called uhso.c, see /sys/dev/usb/net/uhso.c . Maybe there<br />is a missing VID+PID in the table there if it does not get detected under<br />FreeBSD 8+.<br /> <br />--HPS[/color]<br /><br />[b]Fredrik Lindberg[/b]'s answer on HPS:<br /><br />[color]I don't recognize the device name nor the IDs. If it's a standard plain<br />serial modem for use with ppp then u3g is most likely the correct<br />driver.<br /> <br />Fredrik[/color]<br /><br />[b]So now I repeat the Ubuntu process from the forum for the sake of comprehensiveness:[/b]<br /><br />How I [somebody else] got Neotel running on Ubuntu 9.04...<br /><br />Decided to install Jaunty as my Hardy was very messy. I've been running Linux since Breezy but still regard myself as a noobie.<br /><br />After much trial and tribulation, and many failed attempts on Hardy, I finally got my Neotel Prime running, first time round on Jaunty.<br /><br />Following is a step-by-step process which I take NO CREDIT for!<br /><br />I am merely posting this in an attempt to make the process a bit easier to understand and follow for all Linux(Ubuntu) users out there wishing to use Neotel.<br /><br />This was done on a fresh installation of Ubuntu 9.04 Jaunty Jackalope.<br /><br />It helps having an Internet connection for the first step of the process... Otherwise packages can be downloaded seperately and Google will provide details on unpacking and installing.<br /><br />[b]Step 1)[/b]<br /><br />First download the necessary packages we need.<br /><br />Open System>Administration>Synaptic Package Manager<br /><br />Find and install:<br /><br />Code:<br /><br />[b]1) wvdial<br /><br />2) Linux-source<br />[/b]<br /><br />If the above are not listed, open terminal, use the code(s):<br /><br />Code:<br /><br />[b]1) $ sudo apt-get install wvdial<br /><br />2) $ sudo apt-get install Linux-source[/b]<br /><br /><br />[b]Step 2) [/b]<br /><br />Open a terminal and type: <br /><br />Code:<br /><br />[b]$ sudo -s<br /><br />$ cd /usr/src<br /><br />$ tar xjvf Linux-source-2.6.28.tar.bz2<br /><br />$ gedit /usr/src/Linux-source-2.6.28/drivers/USB/serial/option.c[/b]<br /><br /><br />)

                                  1 Reply Last reply Reply Quote 0
                                  • Z
                                    Zani
                                    last edited by Aug 9, 2010, 6:45 PM Aug 9, 2010, 6:39 PM

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      wallabybob
                                      last edited by Aug 10, 2010, 1:23 PM

                                      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:

                                      1. (if necessary) install FreeBSD 8.1

                                      2. Boot FreeBSD 8.1 without the modem plugged in.

                                      3. 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) quit

                                      This changes an entry in the u3g driver's table of devices it recognises so it will recognise the Neotel modem.

                                      1. Plug in the modem. On the console the system should report a u3g device.

                                      2. 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.

                                      1 Reply Last reply Reply Quote 0
                                      • E
                                        eri--
                                        last edited by Aug 10, 2010, 3:01 PM

                                        Download the file from here.
                                        http://www.mediafire.com/?bcsv0efbdq3boyx

                                        Put it in /boot/kernel on the pfSense install and reboot.
                                        Is your modem detected after rebooting?

                                        This is patched kernel with your ids.

                                        1 Reply Last reply Reply Quote 0
                                        • Z
                                          Zani
                                          last edited by Aug 11, 2010, 8:17 PM Aug 11, 2010, 7:29 AM

                                          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?

                                          1 Reply Last reply Reply Quote 0
                                          31 out of 58
                                          • First post
                                            31/58
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.