Which kind of mPCIe hardware are you using? And have you tried both slots?
I have 2 wifi cards: QCA9882 and QCA9984. Both from Compex WLE600VX and WLE1216v5. They are 100% working cards, I tested both of them in another PC. I’v tried both slots, alone and together, mixed vice-a-versa.
Also I loaded board with Openwrt snapshot built, my own build, 21rc build. And got no luck.
Even without any cards at all I should get something from lspci.
No, this is not true. If I have both slots empty, lspci
also doesn’t show anything, not even host bridges. So what you are seeing is (from software point of view) just both slots empty and/or link down.
With both slots populated, it looks like this on my board:
0000:00:00.0 PCI bridge: MEDIATEK Corp. Device 3258
0000:01:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
0001:00:01.0 PCI bridge: MEDIATEK Corp. Device 3258
0001:01:00.0 Unclassified device [0002]: MEDIATEK Corp. Device 7615
I don’t have any QCA modules here for testing, but I’ve heard that the R64 is picky about mPCIe modules. (the AX200 is sitting in mPCIe to NGFF adapter and works fine. it can only do client mode, like all Intel wifi NICs, though…)
Update: The Compex modules you mentioned seem to be problematic, see also [BPI-R64] PCIe issues
There were pcie hardware-issues on r64
- missing capacitors on tx lines (causing some cards not detected,maybe depend on bus speed)
- limited current (causing tx power limited on mt7615)
Maybe you fall into one of these.they are known and should be fixed in next hw-rev,but idk if this hardware is ready
there is a limitation that only one pcie-slot supports usb passthrough (afair the one shared with sata). So if card needs this (like some 4g modems) cards do not work correctly (but should shown up in lspci)
I was looking through this thread, and yes there are some issues with those cards at least on older kernels (I’m using 5.10).
Do you have any info about those caps? May be it possible to add them like changing protective resistors?
only this: [BPI-R64] PCIe issues
pcie-splitting is not yet merged to mainline, but maybe existent in openwrt
https://patchwork.kernel.org/project/linux-mediatek/patch/[email protected]/
https://patchwork.kernel.org/project/linux-mediatek/patch/[email protected]/
Yes, we got both patches in recent OpenWrt with Linux 5.10:
I know it has been discussed before, but the Sinovoip support pages disappeared, so I can’t find the method for setting permanent eth1 (wan) and eth0 (br-lan) MAC address. Is there any way to set it in U-boot or elsewhere?
Afair that was nowhere in official documents,but i have it written down here (os independ,but ifupdown/systemd maybe not working in openwrt):
https://www.fw-web.de/dokuwiki/doku.php?id=en/bpi-r2/network/start#mac-address
Thanks, but unfortunately I couldn’t make it in OpenWRT. There was a setenv command in previous u-boot menu, for setting mac address, but it is gone.
afair uboot-way depends on right dts. it needs mac-address property and alias for ethernet-node
Run this in openwrt:
fw_setenv ethaddr newaddress
Or in uboot
setenv ethaddr newaddress
saveenv
I applied the fw_setenv ethaddr command, and it changed the MAC address indeed (after rebooting). Now every interface has the same MAC address. I think it changed the internal bridge address. Is there any way to specify it separately for the wan/eth1 also? Perhaps it is not so important, because br-lan and wan are on different segments, so there should be no ARP conflict.
It changes adress of eth0 (gmac between soc and switch). eth1 should not exist and wan (dsa port) is connected to eth0 too
Independently of the main MAC address you may configure an individual mac address for wan
port (or any other port) in OpenWrt. This works in LuCI:
or in CLI:
uci add network device
uci set network.@device[-1].name= 'wan'
uci set network.@device[-1].macaddr= '02:03:04:05:06:07'
Thanks, it worked
I upgraded luci-mod-network and it handles the bridge interface differently that it used before. But now the LAN bridge does not have any fixed IP address and it does not act as a DHCP server. What should I change in the new config? Here is the bridge related section in the /etc/network/config:
config interface 'lan'
option proto 'static'
option ipaddr '192.168.0.1'
option netmask '255.255.255.0'
option ip6assign '60'
option ifname 'br-lan'
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
I guess you need to define br-lan before assign ip-address to it…so basicly swapping both blocks
If I add Option type 'bridge'
to the config interface 'lan'
section, it already gets IP address, but still not leasing DHCP addresses to clients…
I wonder if there is a comprehensive description of the network config options, or at least a sample configuration with the changed syntax.
Edit: I can add br-lan and the ports manually with brctl. Then it works. But when I open the Network - Interfaces configuration page, it says:
The existing network configuration needs to be changed for LuCi to function properly. Upon pressing “Continue”, bridges configuration will be moved from “interface” sections to “device” sections the network will be restarted to apply the updated configuration.
But after this change the lan1…lan4 ports are not bridged to eth0, and the bridged ports are down. I can restore it only if I add option type 'bridge
to the config interface ‘lan’ section, and add the lan1 … lan4 interfaces to the bridge manually with brctl addif br-lan lan1
and same for lan2 lan3 lan4. However, this is not compatible with LuCi.
LuCi version: git-21.140.43486-398982f
After upgrading the kernel to 5.10.39 it works fine. Edit: it worked fine, but today my wan6 interface “disappeared”. It is present in LuCi, but not showing up by ifconfig:
root@OpenWrt:/sys/class/net# ifconfig | grep Link
`br-lan Link encap:Ethernet HWaddr 6A:55:75:51:DE:5A`
inet6 addr: fe80::6855:75ff:fe51:de5a/64 Scope:Link
eth0 Link encap:Ethernet HWaddr 6A:55:75:51:DE:5A
inet6 addr: fe80::6855:75ff:fe51:de5a/64 Scope:Link
ifb4eth1 Link encap:Ethernet HWaddr 4A:80:25:54:53:95
inet6 addr: fe80::4880:25ff:fe54:5395/64 Scope:Link
lan1 Link encap:Ethernet HWaddr 6A:55:75:51:DE:5A
lan2 Link encap:Ethernet HWaddr 6A:55:75:51:DE:5A
lan3 Link encap:Ethernet HWaddr 6A:55:75:51:DE:5A
lan4 Link encap:Ethernet HWaddr 6A:55:75:51:DE:5A
lo Link encap:Local Loopback
wan Link encap:Ethernet HWaddr 6A:55:75:51:DE:5B
inet6 addr: fe80::6855:75ff:fe51:de5b/64 Scope:Link
root@OpenWrt:/sys/class/net# ls
6in4-WAN6 br-lan eth1 lan1 lan3 lo wan
6in4-wan6 eth0 ifb4eth1 lan2 lan4 sit0 wlan0
Also I created a second 6in4-WAN6 device by mistake. Maybe this caused the confusion. Is there any way to remove it? And how could I restore the wan6 interface? My kernel is 5.10.39 from snapshot image.