NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

how to change wireless mode for myRIO

Solved!
Go to solution

Hmm, a couple of things:

 

  • Check what the status of the radio is using rfkill list
  • From one of your eariler posts, I see that the wireless interface wlan0 is listed as the (primary) interface, which is not the default configuration (and, further, is not configurable through the MAX UI). Did you (or someone else who was working on the controller) attempt to modify the controller to use the wireless interface as the "default" interface (which, in itself, doesn't have much meaning anyway)?
0 Kudos
Message 11 of 20
(3,327 Views)

here is the result of the commandCapture.PNGmmm i don't know about if someone else made the wireless as default , but how can i remove the (primary) if you know ?


@BradM wrote:

Hmm, a couple of things:

 

  • Check what the status of the radio is using rfkill list
  • From one of your eariler posts, I see that the wireless interface wlan0 is listed as the (primary) interface, which is not the default configuration (and, further, is not configurable through the MAX UI). Did you (or someone else who was working on the controller) attempt to modify the controller to use the wireless interface as the "default" interface (which, in itself, doesn't have much meaning anyway)?

 

0 Kudos
Message 12 of 20
(3,318 Views)
Solution
Accepted by topic author dm1203601

The method that I used to reproduce the behavior that you are seeing (as well as fix the behavior) is to do the following from a shell

  • Check the MAC or HW address listings for the network interfaces, make note of the one for the USB interface. Use, i.e., ip link show usb0 to list the HW addresses of the usb interface
    • For this example, I'll use 00:11:22:33:44:55 as the HW address of the network interface.
    • (safemode) admin@HerNameIsRIO:~# ip link show usb0
      2: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mo
      de DEFAULT group default qlen 1000
      link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
  • Verify that the current variable that maintains the primary network interface address does not match the USB interface (with the colons removed)
    • (safemode) admin@HerNameIsRIO:~# fw_printenv primaryethaddr
      primaryethaddr=FFEEDDCCBB
    • In this case, the variable is set for a HW address FF:EE: DD:CC:BB (ed. I had to add a space to prevent a silly emoticon/emoji from being in the middle of the HW address)
  • If it does not match the usb hw address, set the address to the USB HW address, but be sure to remove the colons
    • fw_setenv primaryethaddr 0011223344
  • Double-check that the address matches the variable!
    • sed 's/://g' /sys/class/net/usb0/address | tr [:lower:] [:upper:]
    • fw_printenv primaryethaddr
  • Bonus: You can use that sed command to handle this in a one-liner:
    • fw_setenv primaryethaddr $(sed 's/://g' /sys/class/net/usb0/address | tr [:lower:] [:upper:])
  • Restart the controller for the changes to take effect
Message 13 of 20
(3,300 Views)

@BradM wrote:

The method that I used to reproduce the behavior that you are seeing (as well as fix the behavior) is to do the following from a shell

  • Check the MAC or HW address listings for the network interfaces, make note of the one for the USB interface. Use, i.e., ip link show usb0 to list the HW addresses of the usb interface
    • For this example, I'll use 00:11:22:33:44:55 as the HW address of the network interface.
    • (safemode) admin@HerNameIsRIO:~# ip link show usb0
      2: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mo
      de DEFAULT group default qlen 1000
      link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
  • Verify that the current variable that maintains the primary network interface address does not match the USB interface (with the colons removed)
    • (safemode) admin@HerNameIsRIO:~# fw_printenv primaryethaddr
      primaryethaddr=FFEEDDCCBB
    • In this case, the variable is set for a HW address FF:EE: DD:CC:BB (ed. I had to add a space to prevent a silly emoticon/emoji from being in the middle of the HW address)
  • If it does not match the usb hw address, set the address to the USB HW address, but be sure to remove the colons
    • fw_setenv primaryhwaddr 0011223344
  • Double-check that the address matches the variable!
    • sed 's/://g' /sys/class/net/usb0/address | tr [:lower:] [:upper:]
    • fw_printenv primaryethaddr
  • Bonus: You can use that sed command to handle this in a one-liner:
    • fw_setenv primaryethaddr $(sed 's/://g' /sys/class/net/usb0/address | tr [:lower:] [:upper:])
  • Restart the controller for the changes to take effect

Hi BradM,

Glad that I saw your post and it helps to solve my problem. Just a minor correction: I think the command "fw_setenv primaryhwaddr 0011223344" should be "fw_setenv primaryethaddr 0011223344"

I tried and succeed with my device.

Good luck to those who search 🙂

P.S: still, I'd like to have a question: what possibly cause myRIO to change the primary network adapter like this?

0 Kudos
Message 14 of 20
(3,248 Views)

Ah, good catch! Thanks, I'll updated the original message.

 

As to why things got stuffed the way that they did: I have no idea. None of the scripting/source that pokes at the environment variables that I checked (both from a booted system as well as u-boot scripting) sets that variable (not comprehensive, I just did a quick prodding around)

0 Kudos
Message 15 of 20
(3,244 Views)

FYI, also for those who try, reinstall/upgrade the firmware doesn't help with this. I've tried without positive result.

0 Kudos
Message 16 of 20
(3,238 Views)

really thank you , it is working finally 🙂 🙂 🙂


@BradM wrote:

The method that I used to reproduce the behavior that you are seeing (as well as fix the behavior) is to do the following from a shell

  • Check the MAC or HW address listings for the network interfaces, make note of the one for the USB interface. Use, i.e., ip link show usb0 to list the HW addresses of the usb interface
    • For this example, I'll use 00:11:22:33:44:55 as the HW address of the network interface.
    • (safemode) admin@HerNameIsRIO:~# ip link show usb0
      2: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mo
      de DEFAULT group default qlen 1000
      link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
  • Verify that the current variable that maintains the primary network interface address does not match the USB interface (with the colons removed)
    • (safemode) admin@HerNameIsRIO:~# fw_printenv primaryethaddr
      primaryethaddr=FFEEDDCCBB
    • In this case, the variable is set for a HW address FF:EE: DD:CC:BB (ed. I had to add a space to prevent a silly emoticon/emoji from being in the middle of the HW address)
  • If it does not match the usb hw address, set the address to the USB HW address, but be sure to remove the colons
    • fw_setenv primaryethaddr 0011223344
  • Double-check that the address matches the variable!
    • sed 's/://g' /sys/class/net/usb0/address | tr [:lower:] [:upper:]
    • fw_printenv primaryethaddr
  • Bonus: You can use that sed command to handle this in a one-liner:
    • fw_setenv primaryethaddr $(sed 's/://g' /sys/class/net/usb0/address | tr [:lower:] [:upper:])
  • Restart the controller for the changes to take effect

 

0 Kudos
Message 17 of 20
(3,202 Views)

Hey this thread is old, just thought I'd pipe in a 2019 comment....

 

My recent LabVIEW 2018 myRIO install (firmware verion 6.0.0f1) sets wlan0 as the primary adapter, so you can't change country or join a network or even set wireless mode to disabled to do so (get the can't save changes error).

 

First, I clicked the box enabling sshd on the system settings tab in MAX, then used putty (download from internet) to ssh to the USB IP address (admin is user, left password empty to log in).

 

Used "ip link show usb0" to confirm MAC address of USB adapter (matched in MAX)

 

Used "fw_printenv primaryethaddr" to confirm that the wifi adapter was primary (as listed in MAX)

 

Used "fw_setenv primaryethaddr 0011223344" to update primary to the USB adapter MAC address.

 

Typed "reboot" while in the shell. The myRIO rebooted, and when it came up again in MAX, there was a new entry in "Remote Systems", and the usb0 adapter was listed as primary.

 

I could then change the wireless mode of wlan0 to "Disabled" "Connect" or "Create"

 

Thanks @BradM!

 

 

 

><><><><><><
Tommy R.
><><><><><><
Message 18 of 20
(2,177 Views)

Hello,

I am using my rio 1900 device. My device is connected on wireless communication.But now i want to connect my device with the new wireless router.

So what is the procedure to do that?

Detail description of query is given in attached pdf file. Please refer that file for detail description.

Please help me to solve this query.

Thank you.

0 Kudos
Message 19 of 20
(1,855 Views)

Hi Dhvanil479,

 

I'd recommend opening a new post for your question. This thread is fairly old and was closed with a solution already.

You should still take the time to try everything here first, but a new thread would give you better visibility on your problems. 

Charlie J.
National Instruments
0 Kudos
Message 20 of 20
(1,842 Views)