NanoPi R1 - two radios

Hi,
I installed the latest SNAPSHOT (r22346-e026a65af1).
Everything seems to work fine, the device is stable and gets the IP address; I installed Luci and everything works.

There is a problem, the system sees two radios (radio0 and radio1 but NanoPi R1 has only one radio) and at each reboot it chooses one by deactivating the other. This seems random.

Anyone know how to fix?

show etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'
        option cell_density '0'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option cell_density '0'

config wifi-iface 'wifinet0'
        option device 'radio1'
        option mode 'sta'
        option network 'wifi1'
        option ssid 'MyWifi'
        option encryption 'psk2'
        option key 'MyPassword'

config wifi-iface 'wifinet1'
        option device 'radio0'
        option mode 'sta'
        option network 'wifi'
        option ssid 'MyWifi'
        option encryption 'psk2'
        option key 'MyPassword'

If I delete the inactive radio, after a restart it is again in this file.

Thanks!

so this does not work?

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'
        option cell_density '0'


config wifi-iface 'wifinet0'
        option device 'radio1'
        option mode 'sta'
        option network 'wifi1'
        option ssid 'MyWifi'
        option encryption 'psk2'
        option key 'MyPassword'


This works, but each reboot (or almost, randomly) disables one radio and enables the other.
This causes me other issues.
Sometimes the kernel sees the radio as mmc0, other times like mmc1, is this normal?

Thanks for your support!

show

iw phy0 info
iw phy1 info

phy0

Wiphy phy0
        wiphy index: 0
        max # scan SSIDs: 10
        max scan IEs length: 2048 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports roaming.
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * P2P-client
                 * P2P-GO
                 * P2P-device
        Band 1:
                Capabilities: 0x1020
                        HT20
                        Static SM Power Save
                        RX HT20 SGI
                        No RX STBC
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent:
0x003)
                Minimum RX AMPDU time spacing: 16 usec (0x07)
                HT TX/RX MCS rate indexes supported: 0-7
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (disabled)
                        * 2472 MHz [13] (disabled)
                        * 2484 MHz [14] (disabled)
        valid interface combinations:
                 * #{ managed } <= 1, #{ P2P-device } <= 1, #{
P2P-client, P2P-GO } <= 1,
                   total <= 3, #channels <= 2
                 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-clie
nt } <= 1, #{ P2P-device } <= 1,
                   total <= 4, #channels <= 1
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Supported extended features:
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD re
cords

phy1 it doesn't seem to exist

...... cluding HT
                configuration.

        dev <devname> set freq <freq> [NOHT|HT20|HT40+|HT40-|5M
Hz|10MHz|80MHz|160MHz]
        dev <devname> set freq <control freq> [5|10|20|40|80|80
+80|160] [<center1_freq> [<center2_freq>]]
        phy <phyname> set channel <channel> [NOHT|HT20|HT40+|HT
40-|5MHz|10MHz|80MHz|160MHz]
        dev <devname> set channel <channel> [NOHT|HT20|HT40+|HT
40-|5MHz|10MHz|80MHz|160MHz]
        phy <phyname> set frag <fragmentation threshold|off>
                Set fragmentation threshold.

        phy <phyname> set rts <rts threshold|off>
                Set rts threshold.

        phy <phyname> set retry [short <limit>] [long <limit>]
                Set retry limit.

        phy <phyname> set netns { <pid> | name <nsname> }
                Put this wireless device into a different netwo
rk namespace:
                    <pid>    - change network namespace by proc
ess id
                    <nsname> - change network namespace by name
 from /var/run/netns
                               or by absolute path (man ip-netn
s)


        phy <phyname> set coverage <coverage class>
                Set coverage class (1 for every 3 usec of air p
ropagation time).
                Valid values: 0 - 255.

        phy <phyname> set distance <auto|distance>
                Enable ACK timeout estimation algorithm (dynack
) or set appropriate
                coverage class for given link distance in meter
s.
                To disable dynack set valid value for coverage
class.
                Valid values: 0 - 114750

        phy <phyname> set txpower <auto|fixed|limit> [<tx power
 in mBm>]
                Specify transmit power level and setting type.

        dev <devname> set txpower <auto|fixed|limit> [<tx power
 in mBm>]
                Specify transmit power level and setting type.

        phy <phyname> set antenna <bitmap> | all | <tx bitmap>
<rx bitmap>
                Set a bitmap of allowed antennas to use for TX
and RX.
                The driver may reject antenna configurations it
 cannot support.

        phy <phyname> set txq limit <packets> | memory_limit <b
ytes> | quantum <bytes>
                Set TXQ parameters. The limit and memory_limit
are global queue limits
                for the whole phy. The quantum is the DRR sched
uler quantum setting.
                Valid values: 1 - 2**32

        phy <phyname> set antenna_gain <antenna gain in dBm>
                Specify antenna gain.

        dev <devname> set power_save <on|off>
                Set power save state to on or off.

        phy <phyname> set sar_specs <sar type> <range index:sar
 power>*
                Set SAR specs corresponding to SAR capa of wiph
y.

        dev <devname> survey dump [--radio]
                List all gathered channel survey data

        dev <devname> station get <MAC address>
                Get information for a specific station.

        dev <devname> station del <MAC address> [subtype <subty
pe>] [reason-code <code>]
                Remove the given station entry (use with cautio
n!)
                Example subtype values: 0xA (disassociation), 0
xC (deauthentication)

        dev <devname> station dump [-v]
                List all stations known, e.g. the AP on managed
 interfaces

        dev <devname> station set <MAC address> txpwr <auto|lim
it> [<tx power dBm>]
                Set Tx power for this station.

        dev <devname> station set <MAC address> airtime_weight
<weight>
                Set airtime weight for this station.

        dev <devname> station set <MAC address> vlan <ifindex>
                Set an AP VLAN for this station.


Commands that use the netdev ('dev') can also be given the
'wdev' instead to identify the device.

You can omit the 'phy' or 'dev' if the identification is unique
,
e.g. "iw wlan0 info" or "iw phy0 info". (Don't when scripting.)

Do NOT screenscrape this tool, we don't consider its output sta
ble.

will this work if you change the info i posted changing only this?

option phy 'platform/soc/1c10000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'

Sorry, I don't understand, where should I make this change? On Radio0 or on Radio1 :grimacing:

that's the problem here the radio use random phy0 and phy1

try on radio0 first, well if you do not have alot custom on the board,and you can reset it, i like to see the default setting.

Before resetting I did some tests as you asked but it loses the wifi connection.
The kernel sometimes finds the device here:

platform/soc/1c10000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1

Other times find it here:

platform/soc/1c10000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1

Obviously never at the same time.
When I change the path, if when I restart the radio it finds is the other one, it creates a new radio with the current path, but this new radio is not configured so I lose the connection.

so try to set one of the two

        option disabled '1'

maybe i found the error try this.

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'
        option cell_density '0'


config wifi-iface 'wifinet0'
        option device 'radio0'
        option mode 'sta'
        option network 'wifi1'
        option ssid 'MyWifi'
        option encryption 'psk2'
        option key 'MyPassword'

the error is in option device you have it wrong you have that inverted

No success....
After the first start everything ok:


config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'
        option cell_density '0'

config wifi-iface 'wifinet0'
        option device 'radio0'
        option mode 'sta'
        option network 'wifi'
        option ssid 'MyWifi'
        option encryption 'psk2'
        option key 'MyPassword'

After the second restart:

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '0'
        option cell_density '0'

config wifi-iface 'wifinet0'
        option device 'radio0'
        option mode 'sta'
        option network 'wifi'
        option ssid 'MyWifi'
        option encryption 'psk2'
        option key 'MyPassword'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'
config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/1c10000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

config wifi-iface 'wifinet0'
        option device 'radio1'
        option mode 'sta'
        option network 'wifi'
        option ssid 'MyWifi'
        option encryption 'psk2'
        option key 'MyPassword'

No success...
Lost connection.
Tomorrow I will reset and send you the default file.
Thanks for your time!