Welcome, Guest. Please login or register.
Did you miss your activation email?
+  pfSense Forum
|-+  Retired» 2.0-RC Snapshot Feedback and Problems - RETIRED» Run device driver seems to be missing from pfSense 2.0
Username:
Password:
 
 

Pages: [1] 2   Go Down
  Print  
Author Topic: Run device driver seems to be missing from pfSense 2.0  (Read 5576 times)
0 Members and 1 Guest are viewing this topic.
wallabybob
Hero Member
*****
Offline Offline

Posts: 4935


View Profile
« 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.
 

 
Logged
wallabybob
Hero Member
*****
Offline Offline

Posts: 4935


View Profile
« 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 » Logged
ermal
Administrator
Hero Member
*****
Offline Offline

Posts: 3109


View Profile
« Reply #2 on: August 23, 2010, 07:36:56 am »

Committed.
Logged
wallabybob
Hero Member
*****
Offline Offline

Posts: 4935


View Profile
« Reply #3 on: August 23, 2010, 07:55:33 am »

Thanks.
Logged
jimp
Administrator
Hero Member
*****
Offline Offline

Posts: 13081



View Profile
« 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.
Logged

Need help fast? Commercial Support!

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

Do not PM for help!

Donate to the project | My Wish List
wallabybob
Hero Member
*****
Offline Offline

Posts: 4935


View Profile
« 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
Logged
jimp
Administrator
Hero Member
*****
Offline Offline

Posts: 13081



View Profile
« 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.
Logged

Need help fast? Commercial Support!

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

Do not PM for help!

Donate to the project | My Wish List
shadow
Jr. Member
**
Offline Offline

Posts: 80


View Profile
« Reply #7 on: August 24, 2010, 12:13:15 am »

i had to dink to get runfw, but it appears this is working.
Logged
jimp
Administrator
Hero Member
*****
Offline Offline

Posts: 13081



View Profile
« 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 Tongue

It's in now and a new snapshot is building.
Logged

Need help fast? Commercial Support!

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

Do not PM for help!

Donate to the project | My Wish List
wallabybob
Hero Member
*****
Offline Offline

Posts: 4935


View Profile
« Reply #9 on: August 24, 2010, 07:56:11 am »

I think the firmware entry might still be missing from the google docs spreadsheet.
Logged
jimp
Administrator
Hero Member
*****
Offline Offline

Posts: 13081



View Profile
« Reply #10 on: August 24, 2010, 08:23:09 am »

Fixed :-)
Logged

Need help fast? Commercial Support!

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

Do not PM for help!

Donate to the project | My Wish List
wallabybob
Hero Member
*****
Offline Offline

Posts: 4935


View Profile
« 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?
Logged
jimp
Administrator
Hero Member
*****
Offline Offline

Posts: 13081



View Profile
« 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.
Logged

Need help fast? Commercial Support!

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

Do not PM for help!

Donate to the project | My Wish List
shadow
Jr. Member
**
Offline Offline

Posts: 80


View Profile
« 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?
Logged
jimp
Administrator
Hero Member
*****
Offline Offline

Posts: 13081



View Profile
« 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.
Logged

Need help fast? Commercial Support!

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

Do not PM for help!

Donate to the project | My Wish List
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

 

Page created in 0.032 seconds with 19 queries.