pfSense Gold Subscription

Author Topic: Run device driver seems to be missing from pfSense 2.0  (Read 6939 times)

0 Members and 1 Guest are viewing this topic.

Offline wallabybob

  • Hero Member
  • *****
  • Posts: 5262
  • Karma: +0/-0
    • View Profile
Run device driver seems to be missing from pfSense 2.0
« on: August 23, 2010, 02:10:54 am »
The FreeBSD 8.1 release notes say The run(4) driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices has been added. The driver is in the source code tree but there is no man page for it.

I bought a Tenda W311U usb stick for under US$20 (after converting from local currency) and it was immediately recognised by the run driver on a FreeBSD 8.1 system. The driver source suggests it supports hostap mode (and station monitor, WDS and possibly others). I was able to initialise it in hostap mode in FreeBSD.

I copied the FreeBSD driver files (/boot/kernel/if_run.ko and if_run.ko.symbols to /boot/kernel on pfSense, kldload'd the driver, plugged in the NIC and the NIC was recognised by the run driver without problem.

On pfSense I edited /etc/inc/globals.inc to add run to the list of known wireless devices and /etc/inc/interfaces.inc to add run to the list of known interfaces with ALTQ support. Here are the diffs:

# diff -b -C 4 /etc/inc/globals.inc.orig /etc/inc/globals.inc
*** /etc/inc/globals.inc.orig   Mon Aug 23 16:16:13 2010
--- /etc/inc/globals.inc   Mon Aug 23 16:17:05 2010
***************
*** 102,110 ****
     "captiveportal_element_sizelimit" => 1048576,
     "xmlrpcpath" => "/pfSense/xmlrpc.php",
     "embeddedbootupslice" => "/dev/ad0a",
     "services_dhcp_server_enable" => true,
!    "wireless_regex" => "/^(ndis|wi|ath|an|ral|ural|iwi|wlan|rum|zyd|mwl|bwi|ipw|iwn|malo|uath|upgt|urtw|wpi)/",
     "help_base_url" => "/help.php"
  );
 
  // Loop through and set vlan_long_frame VLAN_MTU
--- 102,110 ----
     "captiveportal_element_sizelimit" => 1048576,
     "xmlrpcpath" => "/pfSense/xmlrpc.php",
     "embeddedbootupslice" => "/dev/ad0a",
     "services_dhcp_server_enable" => true,
!    "wireless_regex" => "/^(ndis|wi|ath|an|ral|ural|iwi|wlan|rum|run|zyd|mwl|bwi|ipw|iwn|malo|uath|upgt|urtw|wpi)/",
     "help_base_url" => "/help.php"
  );
 
  // Loop through and set vlan_long_frame VLAN_MTU
# diff -b -C 4 /etc/inc/interfaces.inc.orig /etc/inc/interfaces.inc
*** /etc/inc/interfaces.inc.orig   Mon Aug 23 16:16:24 2010
--- /etc/inc/interfaces.inc   Mon Aug 23 16:18:30 2010
***************
*** 3183,3191 ****
           */
     $capable = array("age", "ale", "an", "ath", "aue", "awi", "bce",
           "bfe", "bge", "dc", "de", "ed", "em", "ep", "fxp", "gem",
           "hme", "igb", "ipw", "iwi", "jme", "le", "msk", "mxge", "my", "nfe",
!          "npe", "nve", "ral", "re", "rl", "rum", "sf", "sis", "sk",
           "ste", "stge", "txp", "udav", "ural", "vge", "vr", "wi", "xl",
           "ndis", "tun", "ovpns", "ovpnc", "vlan", "pppoe", "pptp", "ng",
           "l2tp", "ppp");
 
--- 3183,3191 ----
           */
     $capable = array("age", "ale", "an", "ath", "aue", "awi", "bce",
           "bfe", "bge", "dc", "de", "ed", "em", "ep", "fxp", "gem",
           "hme", "igb", "ipw", "iwi", "jme", "le", "msk", "mxge", "my", "nfe",
!          "npe", "nve", "ral", "re", "rl", "rum", "run", "sf", "sis", "sk",
           "ste", "stge", "txp", "udav", "ural", "vge", "vr", "wi", "xl",
           "ndis", "tun", "ovpns", "ovpnc", "vlan", "pppoe", "pptp", "ng",
           "l2tp", "ppp");
 
#

Then I rebooted and was able to configure the wireless aspects of run0 (ssid, crypto, etc)

I'll report again after I've had an opportunity to exercise the device.
 

 

Offline wallabybob

  • Hero Member
  • *****
  • Posts: 5262
  • Karma: +0/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #1 on: August 23, 2010, 06:20:47 am »
I configured it as an AP with WPA2 encryption and it has been downloading from the internet and file transferring files from other systems on the LAN for a couple of hours now without hiccup.
« Last Edit: August 23, 2010, 06:40:43 am by wallabybob »

Offline ermal

  • Administrator
  • Hero Member
  • *****
  • Posts: 3364
  • Karma: +1/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #2 on: August 23, 2010, 07:36:56 am »
Committed.

Offline wallabybob

  • Hero Member
  • *****
  • Posts: 5262
  • Karma: +0/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #3 on: August 23, 2010, 07:55:33 am »
Thanks.

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14994
  • Karma: +4/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #4 on: August 23, 2010, 08:25:20 am »
I went ahead and added it to the kernel configs, and bwn(4) too since it looks like it made it in.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline wallabybob

  • Hero Member
  • *****
  • Posts: 5262
  • Karma: +0/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #5 on: August 23, 2010, 05:09:22 pm »
Suggested further updates to the wireless support spreadsheet (based on a reading of the source code; I haven't tested these except hostap mode):

adhoc: Y
mesh: Y
Virt Ints: 8? (I'm not sure what this entry means; the driver appears to allow 8 virtual APs but are they the same as Virt Ints? HostAP entry should be YM? Should other Ys be YMs?)
Firmware: runfw

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14994
  • Karma: +4/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #6 on: August 23, 2010, 05:23:27 pm »
I went ahead and updated those fields. I added YM to the hostap column since you saw that it supported 8 virtual APs.

Usually if it supports multiple stations it would say virtual stations as well as APs, but I haven't looked too deeply at the code.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline shadow

  • Jr. Member
  • **
  • Posts: 80
  • Karma: +0/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #7 on: August 24, 2010, 12:13:15 am »
i had to dink to get runfw, but it appears this is working.

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14994
  • Karma: +4/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #8 on: August 24, 2010, 07:48:27 am »
Yeah, runfw was missed (by me). That's what happens when a driver doesn't have a man page stating what options it really needs :P

It's in now and a new snapshot is building.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline wallabybob

  • Hero Member
  • *****
  • Posts: 5262
  • Karma: +0/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #9 on: August 24, 2010, 07:56:11 am »
I think the firmware entry might still be missing from the google docs spreadsheet.

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14994
  • Karma: +4/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #10 on: August 24, 2010, 08:23:09 am »
Fixed :-)
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline wallabybob

  • Hero Member
  • *****
  • Posts: 5262
  • Karma: +0/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #11 on: August 25, 2010, 06:17:11 pm »
I upgraded to a recent snapshot that I expected would include the run driver in the kernel.

On reboot the startup reported:
Quote
ugen3.2: <Ralink> at usbus3
run0: <1.0> on usbus3
run0: MAC/BBP RT3070 (rev 0x0201), RF RT3020 (MIMO 1T1R), address c8:3a:35:c4:ee:f3
runfw: root not mounted yet, no way to load image
run0: failed loadfirmware of file runfw
run0: could not load 8051 microcode
device_attach: run0 attach returned 6
run0: <1.0> on usbus3
run0: MAC/BBP RT3070 (rev 0x0201), RF RT3020 (MIMO 1T1R), address c8:3a:35:c4:ee:f3
runfw: root not mounted yet, no way to load image
run0: failed loadfirmware of file runfw
run0: could not load 8051 microcode
device_attach: run0 attach returned 6
Root mount waiting for: usbus3
ugen3.3: <Ralink> at usbus3
rum0: <Ralink 54M.USB......., class 0/0, rev 2.00/0.01, addr 3> on usbus3
rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
Trying to mount root from ufs:/dev/ad0s1a

I removed the run device and reinserted it and the firmware (unsurprisingly) loaded,

I added the line:
runfw_load="YES"
to /boot/loader.conf

Preferred option is to include the firmware as part of the kernel rather than a separate module?

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14994
  • Karma: +4/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #12 on: August 25, 2010, 06:18:38 pm »
I tried, it wouldn't build into the kernel. runfw isn't a valid kernel config directive.

Perhaps that is something that the driver's maintainer still has yet to fix.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline shadow

  • Jr. Member
  • **
  • Posts: 80
  • Karma: +0/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #13 on: August 31, 2010, 11:34:49 pm »
is loader.conf preserved across updates, or is this going to be an unpleasant surprise waiting for later?

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14994
  • Karma: +4/-0
    • View Profile
Re: Run device driver seems to be missing from pfSense 2.0
« Reply #14 on: September 01, 2010, 05:58:42 am »
I think loader.conf is clobbered, but loader.conf.local is left alone.

Ideally they should both be safe, I think there is a ticket open for it getting overwritten.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!