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

    RNDIS, Bluetooth & HDD issues…

    Scheduled Pinned Locked Moved General pfSense Questions
    25 Posts 3 Posters 9.7k Views
    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.
    • E
      Elludium_Q-36
      last edited by

      Yes THAT would be Rube Goldberg, would it not?  Buying the TP-Link, and having to flash it to OpenWRT, just to connect it to my pfSense x86 box…

      Well, while on my Linux - Ubuntu 10.04 desktop, when I open a terminal, and issue, lsusub, I get:

      luser@localhost:~$ lsusb
      Bus 008 Device 002: ID 0bb4:0303 High Tech Computer Corp. 
      

      Apparently there are TWO RNDIS protocols.  One for mass storage, and the other for internet sharing.  But, that is how, at present, the phone's USB, while sharing it's internet connection, with the aid of WMWifiRouter, presents to my Linux desktop that's currently running Ubuntu 10.04.

      I'm in uncharted territory with pfSense.

      My usb Bluetooth dongle had console messages appearing, about up state, when I hot plugged the thing.  Nothing flashed on the screen, with the phone.  Nothing in the log which I pulled via the web-GUI…

      Thanks, again, Steve, for stopping me from jumping on Ebay, and whipping out my paypal login credentials!

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        For zero cost you could load the X86 version of OpenWRT onto your box instead of pfSense and see how far you get with that. It may work straight away.

        Do you have the WModem application as described here?: http://ubuntuforums.org/showthread.php?t=780339
        In that case it may be possible to dial out directly as they have. pfSense can do that.

        Steve

        1 Reply Last reply Reply Quote 0
        • E
          Elludium_Q-36
          last edited by

          I haven't been able to find a live CD or installer for OpenWRT on a PC.  I looks like I have to install some sort of Linux, then copy & edit a bunch of files.  I can do all that, but I haven't found a clear cut checklist.

          Since it's lightweight, I would think a CD and a USB drive would get the job done, live or install.

          Something happened during the installation of pfSense, where the HDD can't be read by the bios, so that counts out just editing/copying to that IDE drive…

          Not that long ago, about three human years, eons in electronics aging, I was tethering via a Motorola iDEN phone, at a whopping THEORETICAL 14.4 Kb/s or 2 KB/s.  Sometimes it peaked, but hardly reached top speed; and was ALWAYS Jurassiac slow.  I used KPPP as a dialer on an Ubuntu desktop.  Sounds like WModem is a program/app that makes the phone accept Hayes Modem "AT" commands, like I used to issue to my iDEN phone.

          I tried a thread on XDA-developers.com, looking for a .cab file of WModem, but no one responded.

          Now, with WMWiFiRouter, on the phone, one can switch USB modes:
          MTPUSB
          Serial on USB
          Mass Storage
          USBSER_Class
          Serial on USB
          Rndis - ActiveSync
          Rndis - Internet Sharing

          For each, I connected and issued:

          lsusb
          

          MTPUSB  - Media Transfer Protocol - PtpUsbFn - Bus 008 Device 012: ID 0000:0000 
          Serial on USB  -  Bus 008 Device 011: ID 0bb4:0b60 High Tech Computer Corp.
          Mass Storage - Bus 008 Device 013: ID 0bb4:0c33 High Tech Computer Corp.
          USBSER_Class - Bus 008 Device 014: ID 0bb4:0b03 High Tech Computer Corp.
          Serial on USB - Bus 008 Device 015: ID 0bb4:0a33 High Tech Computer Corp. PocketPC Sync
          Rndis - ActiveSync - Bus 008 Device 016: ID 0bb4:0b33 High Tech Computer Corp.
          Rndis - Internet Sharing - Bus 008 Device 017: ID 0bb4:0303 High Tech Computer Corp.

          With the first Serial on USB, I tried:

          sudo /sbin/modprobe ipaq vendor=0x0bb4 product=0x0b60
          

          The command was accepted, no complaint, but no dmesg or dmesg.0 entry and wvdialconf did not find anything.

          So, with USBSER_Class, I tried:

          sudo /sbin/modprobe ipaq vendor=0x0bb4 product=0x0b03
          

          Same result.

          The second "Serial on USB" is a Sync, and actually works with SynCE-KPM, a KDE device manager for Windows Mobile devices; whereas Rndis - ActiveSync does NOT.

          Rndis - Internet Sharing is how I'm on the "Information Sidewalk", posting this.  It's not as slow as iDEN, but it's the "Information Sidewalk" and NOT the "Information Superhighway".

          Any thoughts?

          :

          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            I found a cab file for WModem at XDAdevelopers but it was for Windows Mobile 6.5. That's what I have running on my Blue Angel currently. I couldn't get it to do anything useful but that might be for a number of reasons: The BA was never intended to run anything past Windows2003!. There's no SIM card in it.

            I take it those commands were in Ubuntu? lsusb and modprobe are Linux commands that won't work in pfSense.

            To boot OpenWRT get this file: http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/openwrt-x86-generic-combined-ext4.img.gz
            Write the contained image to a USB stick and boot it. Extract the image first if your image writing program doesn't do it for you. Physdiskwrite will do it for you.

            The FreeBSD uipaq driver only recognises the "Serial on USB - Bus 008 Device 015: ID 0bb4:0a33" of those you've listed. See the source: http://svnweb.freebsd.org/base/release/8.3.0/sys/dev/usb/serial/uipaq.c?revision=234063&view=markup

            Steve

            1 Reply Last reply Reply Quote 0
            • E
              Elludium_Q-36
              last edited by

              Unfortunately sites like PPC Geeks and XDA Developers remove many of the files and links for the "older" hardware.

              This phone was announced in 2009 and I bought it second hand in 2011, just when MS pulled the marketplace for WM 6.x.  I bought it with the intent to flash Android.  There are a few steps, HSPL, World Unlock…  Haret...  I'd like to get it done without bricking the thing, AND while having all the hardware work, but I've yet to get all the steps and files together.

              I'm not sure about the HDD issue.  If I recall correctly, I was able to write using the instal menus, subsequent times, but no joy.  The BIOS wouldn't recognize the HDD, nor could I find it, when plugging it via an IDE to USB cable.  I used another HDD and the box is up.

              My thinking about bluetooth, was a bluetooth over IP scenario, using pfSense as the router AND firewall. 
              Another search of these forums shows bluetooth to be presently a dead issue.

              I plugged in my old Virgin Mobile branded Novatel MiFi 2200...
              Novatel MiFi 2200 Plugged Into pfSense 2.1, Logs.

              I tried the OpenWRT file you suggested.  I unzipped it and put it on a USB flash/thumb drive.  No joy!  I got a blinking box.  Just a flat cursor blinking upper left hand corner of the screen.  Possibly that build did not include a console.  I was unable to telnet/ssh to the box, nor get a UI/GUI…

              I bought a pocket router with OpenWRT preloaded.  I can ping from the diagnostics screen of pfSense, but can't get to it via my LAN.  I tried manual NAT, allowing RFC 1918, and a few things...

              Getting to the UI is important because I often need to reconnect the phone.  It seems that RNDIS is a poorly written and poorly documented specification and implementation.  MS should have went with CDC, but they don't play nice with interoperability and want you to go with full MS implementations...

              To avoid clogging up the forum board, I'll try THIS THREAD:
              Accessing modem from inside firewall pfsense 2.1 and 2.1.1 not work

              1 Reply Last reply Reply Quote 0
              • stephenw10S
                stephenw10 Netgate Administrator
                last edited by

                All the OpenWRT images use a serial console as far as I know. The default speed is 115200 though.

                If you can ping the Openwrt router from the Diagnostics screen but not LAN then you have a routing problem.
                Is the Openwrt device in a different subnet that the pfSense LAN?
                Do you have a gateway on the pfSense LAN? (you shouldn't)

                Steve

                1 Reply Last reply Reply Quote 0
                • E
                  Elludium_Q-36
                  last edited by

                  Hey Steve,

                  Thanks for following this!

                  However, I meant the type of terminal console, with keyboard & (S)VGA video, which pfSense uses.  It would seem most "Rube Goldberg", to have a full PC and ignore the keyboard and monitor, to tie to the keyboard and monitor of ANOTHER computer via serial…

                  • I tried a couple different things, even direct workstation to OpenWRT "server" ethernet, with static I.P.  It's possible I had the requisite port/protocols blocked by a firewall utility on the WS,  at the time.  Maybe…  I don't recall if it would ping.  I recall trying it on a Virtual Machine...

                  • I have each pfSense interface on a different subnet, but I tried static 192.168.1.2 on my WS, direct to the OpenWRT box.

                  • I would only have a gateway on the LAN if I were trying to share internet from the WS, which I am not.


                  It's possible that the BIOS didn't work with USB boot, with that type of file.

                  I could write an image to the HDD, but one compiled with packges, such as a LUCI.  Erstwhile, I tried to compile an OpenWRT image, but it failed, probably due to a lacking a Debian Linux dependency.  It's on "The List".  ::) I have a small stack of old WRT54G routers…


                  In the meantime, I bought a cheap "pocket" router, with OpenWRT preloaded.  A protocol bridge, to ethernet, to pfSense.  Rube Goldberg would be proud!  It works, provided that I bought a USB 3.0 hub to put inline, to charge & tether simultaneously.  Ugh!  ::)  All I needed with my linux box was a USB Y cable, to feed the power of two USB 2.0 ports.



                  Search the webs, I did, for "bsd rndis".  I found this -> http://sourceforge.jp/projects/bsd-rndis/ and assumed it to be abandonware.

                  That is, until I found THIS ->

                  FreeBSD Handbook -> Part IV. Network Communication -> Chapter 30. Advanced Networking -> 30.4. USB Tethering

                  30.4. USB Tethering

                  Many cellphones provide the option to share their data connection over USB (often called "tethering"). This feature uses the RNDIS or CDC protocol.

                  Before attaching a device, load the appropriate driver into the kernel:

                  # kldload if_urndis
                  # kldload cdce
                  

                  Once the device is attached ue0 will be available for use like a normal network device. Be sure that the “USB tethering” option is enabled on the device.

                  Uh, huh…

                  I'm running

                  pfSense  2.1.2-RELEASE (i386)
                  built on Thu Apr 10 05:23:34 EDT 2014
                  FreeBSD 8.3-RELEASE-p15

                  I tried each:

                  
                  $ kldload if_urndis
                  kldload: can't load if_urndis: No such file or directory
                  
                  

                  $ kldload cdce
                  kldload: can't load cdce: File exists

                  
                  I assume the develpers decided to leave this out.  :-\  Perhaps this was over security concerns.  Yet, they INCLUDED, in the default, main install, something as potentially malicious as UPnP & NAT-PMP.  I'm certainly NOT beholden to Micro$oft'$ products, nor their strongarm tactics.  >:(  But, I have what I have…  :(  Maybe RNDIS could run within a jail, if the issue is security..
                  
                  I also noticed, in my pfSense 2.1.2 filesystem:
                  

                  /etc/bluetooth

                  
                  

                  /etc/defaults/bluetooth.device.conf

                  
                  …
                  :-\
                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    It's not part of the FreeBSD tree so you would have to compile the kernel module (if_rndis.ko) yourself. Since the code hasn't been updated since 2010 you might find it requires significant modification to make it compile against FreeBSD 8.3.

                    Additionally it currently supports only one device:
                    @http://sourceforge.jp/projects/bsd-rndis/scm/svn/blobs/head/rndis/trunk/if_rndis.c:

                    #define USB_PRODUCT_SHARP_WZERO3ADES_RNDIS      0x91ad

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • E
                      Elludium_Q-36
                      last edited by

                      I believe that 2.2 will have RNDIS support.  I found that it is contained in a later version of FreeBSD.  Maybe a 9.x or thus-and-such.  I don't have my notes at hand…

                      1 Reply Last reply Reply Quote 0
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        Yep, looks like it's included in FreeBSD 10:
                        https://svnweb.freebsd.org/base/head/sys/dev/usb/net/if_urndis.c?view=log
                        Don't know whether it made it into 2.2 though, I'll have to re-fire my test box. Also I can't find what devices it supports.

                        Edit: Looks like it uses a generic USB vendor/product ID so it should work with a variety of hardware, all Android though  :-. Some older man pages list some known hardware:

                        The urndis driver provides support for Ethernet access over Remote NDIS.
                            The urndis driver should work with all USB RNDIS devices, but the
                            following devices are known to work:

                        o  Google Nexus One
                                  o  HTC Dream / T-Mobile G1 / ADP1
                                  o  HTC Hero
                                  o  HTC Magic
                                  o  HTC Tattoo
                                  o  HTC Wildfire

                        Steve

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