Hello Guys,
Just to give you a bit of an update on my BananaPi R1 project . All is working well as far as the config is concerned, now it is time for it to be put into service . To get it up to this far , included the following :
- Compiling kernel with OpenWrt source for b53 switch - Compiling 'swconfig' user-space program to control the switch - Configuring the WAN and LAN ports
Here is my kernel : root@BPi-R1 ~ # rpm -qa kernel kernel-3.17.4-301.fc21.armv7hl kernel-3.18.1-2.BPiR1.fc21.armv7hl root@BPi-R1 ~ # uname -a Linux BPi-R1.homenet 3.18.1-2.BPiR1.fc21.armv7hl #1 SMP Sun Jan 11 14:12:35 AEDT 2015 armv7l armv7l armv7l GNU/Linux
Since I was going to compile one , I thought might as well go with 3.18 . Here is the ifconfig and eth part of the dmesg :
root@BPi-R1 ~ # dmesg | egrep -i '(eth|b53)' [ 8.866285] stmmaceth 1c50000.ethernet: no reset control found [ 9.074829] eth0: PHY ID 03625f24 at 0 IRQ POLL (stmmac-0:00) active [ 9.081271] eth0: PHY ID 03625f24 at 1 IRQ POLL (stmmac-0:01) [ 9.087133] eth0: PHY ID 03625f24 at 2 IRQ POLL (stmmac-0:02) [ 9.087139] eth0: PHY ID 03625f24 at 3 IRQ POLL (stmmac-0:03) [ 9.087144] eth0: PHY ID 03625f24 at 4 IRQ POLL (stmmac-0:04) [ 9.087150] eth0: PHY ID 03625f24 at 30 IRQ POLL (stmmac-0:1e) [ 10.625698] b53_common: found switch: BCM53125, rev 4 [ 12.641193] stmmaceth 1c50000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off root@BPi-R1 ~ # ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.183 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fdc1:4e49:af09:1:58:2ff:fe42:9171 prefixlen 64 scopeid 0x0<global> inet6 fe80::58:2ff:fe42:9171 prefixlen 64 scopeid 0x20<link> ether 02:58:02:42:91:71 txqueuelen 1000 (Ethernet) RX packets 25599 bytes 10514233 (10.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 16164 bytes 2439789 (2.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 117
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 16 bytes 1504 (1.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 16 bytes 1504 (1.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@BPi-R1 ~ # nmcli con show NAME UUID TYPE DEVICE Wired connection 1 d3e3650b-d7f1-4ddc-ae26-4ee611b38d1c 802-3-ethernet eth0
Here is what the switch looks like , it is an 8 port switch , with port 8 connecting to the NIC , while ports 4,0,1,2 go to the LAN connectors and port 3 goes to the WAN . Other ports 5,6,7 are internally disconnected like this :
--------------------------- | P2 | P1 | P0 | P4 || P3 | ---------------------------
Here is the switch printout :
root@BPi-R1 ~ # /usr/sbin/swconfig dev eth0 show Global attributes: enable_vlan: 0 ports: 0x011f reset_mib: ??? enable_jumbo: 0 allow_vid_4095: 0 Port 0: mib: TxOctets : 0 TxDropPkts : 0 TxBroadcastPkts : 0 TxMulticastPkts : 0 TxUnicastPkts : 0 TxCollisions : 0 TxSingleCollision : 0 TxMultipleCollision : 0 TxDeferredTransmit : 0 TxLateCollision : 0 TxExcessiveCollision: 0 TxPausePkts : 0 RxOctets : 0 RxUndersizePkts : 0 RxPausePkts : 0 Pkts64Octets : 0 Pkts65to127Octets : 0 Pkts128to255Octets : 0 Pkts256to511Octets : 0 Pkts512to1023Octets : 0 Pkts1024to1522Octets: 0 RxOversizePkts : 0 RxJabbers : 0 RxAlignmentErrors : 0 RxFCSErrors : 0 RxGoodOctets : 0 RxDropPkts : 0 RxUnicastPkts : 0 RxMulticastPkts : 0 RxBroadcastPkts : 0 RxSAChanges : 0 RxFragments : 0 RxJumboPkts : 0 RxSymbolErrors : 0 RxDiscarded : 0
pvid: 0 link: port:0 link:down Port 1: mib: TxOctets : 0 TxDropPkts : 0 TxBroadcastPkts : 0 TxMulticastPkts : 0 TxUnicastPkts : 0 TxCollisions : 0 TxSingleCollision : 0 TxMultipleCollision : 0 TxDeferredTransmit : 0 TxLateCollision : 0 TxExcessiveCollision: 0 TxPausePkts : 0 RxOctets : 0 RxUndersizePkts : 0 RxPausePkts : 0 Pkts64Octets : 0 Pkts65to127Octets : 0 Pkts128to255Octets : 0 Pkts256to511Octets : 0 Pkts512to1023Octets : 0 Pkts1024to1522Octets: 0 RxOversizePkts : 0 RxJabbers : 0 RxAlignmentErrors : 0 RxFCSErrors : 0 RxGoodOctets : 0 RxDropPkts : 0 RxUnicastPkts : 0 RxMulticastPkts : 0 RxBroadcastPkts : 0 RxSAChanges : 0 RxFragments : 0 RxJumboPkts : 0 RxSymbolErrors : 0 RxDiscarded : 0
pvid: 0 link: port:1 link:down Port 2: mib: TxOctets : 0 TxDropPkts : 0 TxBroadcastPkts : 0 TxMulticastPkts : 0 TxUnicastPkts : 0 TxCollisions : 0 TxSingleCollision : 0 TxMultipleCollision : 0 TxDeferredTransmit : 0 TxLateCollision : 0 TxExcessiveCollision: 0 TxPausePkts : 0 RxOctets : 0 RxUndersizePkts : 0 RxPausePkts : 0 Pkts64Octets : 0 Pkts65to127Octets : 0 Pkts128to255Octets : 0 Pkts256to511Octets : 0 Pkts512to1023Octets : 0 Pkts1024to1522Octets: 0 RxOversizePkts : 0 RxJabbers : 0 RxAlignmentErrors : 0 RxFCSErrors : 0 RxGoodOctets : 0 RxDropPkts : 0 RxUnicastPkts : 0 RxMulticastPkts : 0 RxBroadcastPkts : 0 RxSAChanges : 0 RxFragments : 0 RxJumboPkts : 0 RxSymbolErrors : 0 RxDiscarded : 0
pvid: 0 link: port:2 link:down Port 3: mib: TxOctets : 0 TxDropPkts : 0 TxBroadcastPkts : 0 TxMulticastPkts : 0 TxUnicastPkts : 0 TxCollisions : 0 TxSingleCollision : 0 TxMultipleCollision : 0 TxDeferredTransmit : 0 TxLateCollision : 0 TxExcessiveCollision: 0 TxPausePkts : 0 RxOctets : 0 RxUndersizePkts : 0 RxPausePkts : 0 Pkts64Octets : 0 Pkts65to127Octets : 0 Pkts128to255Octets : 0 Pkts256to511Octets : 0 Pkts512to1023Octets : 0 Pkts1024to1522Octets: 0 RxOversizePkts : 0 RxJabbers : 0 RxAlignmentErrors : 0 RxFCSErrors : 0 RxGoodOctets : 0 RxDropPkts : 0 RxUnicastPkts : 0 RxMulticastPkts : 0 RxBroadcastPkts : 0 RxSAChanges : 0 RxFragments : 0 RxJumboPkts : 0 RxSymbolErrors : 0 RxDiscarded : 0
pvid: 0 link: port:3 link:down Port 4: mib: TxOctets : 2529757 TxDropPkts : 0 TxBroadcastPkts : 2 TxMulticastPkts : 23 TxUnicastPkts : 16293 TxCollisions : 0 TxSingleCollision : 0 TxMultipleCollision : 0 TxDeferredTransmit : 0 TxLateCollision : 0 TxExcessiveCollision: 0 TxPausePkts : 0 RxOctets : 10727023 RxUndersizePkts : 0 RxPausePkts : 0 Pkts64Octets : 1244 Pkts65to127Octets : 16111 Pkts128to255Octets : 3529 Pkts256to511Octets : 88 Pkts512to1023Octets : 16 Pkts1024to1522Octets: 5630 RxOversizePkts : 0 RxJabbers : 0 RxAlignmentErrors : 0 RxFCSErrors : 0 RxGoodOctets : 10727023 RxDropPkts : 0 RxUnicastPkts : 21861 RxMulticastPkts : 3606 RxBroadcastPkts : 1151 RxSAChanges : 3683 RxFragments : 0 RxJumboPkts : 0 RxSymbolErrors : 0 RxDiscarded : 331
pvid: 0 link: port:4 link:up speed:1000baseT full-duplex auto Port 5: mib: ??? pvid: 0 link: port:5 link:down Port 6: mib: ??? pvid: 0 link: port:6 link:down Port 7: mib: ??? pvid: 0 link: port:7 link:down Port 8: mib: TxOctets : 10705979 TxDropPkts : 0 TxBroadcastPkts : 1151 TxMulticastPkts : 3275 TxUnicastPkts : 21863 TxCollisions : 0 TxSingleCollision : 0 TxMultipleCollision : 0 TxDeferredTransmit : 0 TxLateCollision : 0 TxExcessiveCollision: 0 TxPausePkts : 0 RxOctets : 2533427 RxUndersizePkts : 0 RxPausePkts : 0 Pkts64Octets : 196 Pkts65to127Octets : 9639 Pkts128to255Octets : 4816 Pkts256to511Octets : 1447 Pkts512to1023Octets : 125 Pkts1024to1522Octets: 105 RxOversizePkts : 0 RxJabbers : 0 RxAlignmentErrors : 0 RxFCSErrors : 6 RxGoodOctets : 2531869 RxDropPkts : 0 RxUnicastPkts : 16297 RxMulticastPkts : 23 RxBroadcastPkts : 2 RxSAChanges : 1 RxFragments : 0 RxJumboPkts : 0 RxSymbolErrors : 0 RxDiscarded : 0
pvid: 0 link: port:8 link:up speed:1000baseT full-duplex
The switch has a VLAN capability and that is what I have used in my config to create an incoming connection which connects to my ADSL modem and an outgoing connection that connects to the home LAN . Here are some switch commands:
root@BPi-R1 ~ # /usr/sbin/swconfig dev eth0 help switch0: eth0(BCM53125), ports: 9 (cpu @ 8), vlans: 4096 --switch Attribute 1 (int): enable_vlan (Enable VLAN mode) Attribute 2 (string): ports (Available Ports (as bitmask)) Attribute 3 (int): reset_mib (Reset MIB counters) Attribute 4 (int): enable_jumbo (Enable Jumbo Frames) Attribute 5 (int): allow_vid_4095 (Allow VID 4095) Attribute 6 (none): apply (Activate changes in the hardware) Attribute 7 (none): reset (Reset the switch) --vlan Attribute 1 (ports): ports (VLAN port mapping) --port Attribute 1 (string): mib (Get port's MIB counters) Attribute 2 (int): pvid (Primary VLAN ID) Attribute 3 (string): link (Get port link information)
In my case I have two Vlans running from eth0 , the switch has Vlan tagging enabled on ingress into port 8 . Each vlan is then routed to the appropriate port , afterwards the vlan tag is removed on egress . So I have one eth0.vlan appearing from port 3 and a different one from port 4 .
Best Regards Milorad
On Thu, Jan 15, 2015 at 05:06:42PM +1100, mo.ucina wrote:
Hello Guys,
Just to give you a bit of an update on my BananaPi R1 project . All is working well as far as the config is concerned, now it is time for it to be put into service . To get it up to this far , included the following :
- Compiling kernel with OpenWrt source for b53 switch
- Compiling 'swconfig' user-space program to control the switch
- Configuring the WAN and LAN ports
Here is my kernel : root@BPi-R1 ~ # rpm -qa kernel kernel-3.17.4-301.fc21.armv7hl kernel-3.18.1-2.BPiR1.fc21.armv7hl
Interesting can we get a diff against fedora kernel git to rebuild independently ?
thanks,
Daniel
On 15/01/15 17:42, Daniel Veillard wrote:
On Thu, Jan 15, 2015 at 05:06:42PM +1100, mo.ucina wrote:
Hello Guys,
Just to give you a bit of an update on my BananaPi R1 project . All is working well as far as the config is concerned, now it is time for it to be put into service . To get it up to this far , included the following :
Compiling kernel with OpenWrt source for b53 switch
Compiling 'swconfig' user-space program to control the switch
Configuring the WAN and LAN ports
Here is my kernel :
root@BPi-R1 ~ # rpm -qa kernel kernel-3.17.4-301.fc21.armv7hl kernel-3.18.1-2.BPiR1.fc21.armv7hl
Interesting can we get a diff against fedora kernel git to rebuild independently ?
thanks,
Daniel
Sure ,
Here is the patch I am using with the Fedora kernel , kernel-3.18.1-2.fc21 .
Best Regards Milorad
On 15/01/15 17:42, Daniel Veillard wrote:
On Thu, Jan 15, 2015 at 05:06:42PM +1100, mo.ucina wrote:
Hello Guys,
Just to give you a bit of an update on my BananaPi R1 project . All is working well as far as the config is concerned, now it is time for it to be put into service . To get it up to this far , included the following :
Compiling kernel with OpenWrt source for b53 switch
Compiling 'swconfig' user-space program to control the switch
Configuring the WAN and LAN ports
Here is my kernel :
root@BPi-R1 ~ # rpm -qa kernel kernel-3.17.4-301.fc21.armv7hl kernel-3.18.1-2.BPiR1.fc21.armv7hl
Interesting can we get a diff against fedora kernel git to rebuild independently ?
thanks,
Daniel
Lost the attachment , last time , here it is :