Skip to content

Conversation

teasiu
Copy link

@teasiu teasiu commented Mar 19, 2016

cc

Felix Fietkau and others added 30 commits September 26, 2015 23:18
… in unbridged AP configurations (#20574)

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r47053

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47054 3c298f89-4303-0410-b956-a3cf2f4a3e73
…vs to procd instead

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r47055

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47060 3c298f89-4303-0410-b956-a3cf2f4a3e73
When using FullMAC drivers (e.g. brcmfmac) we don't get mgmt frames so
check for banned client in probe request handler won't ever be used.
Since cfg80211 provides us info about STA associating let's put a check
there.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

Backport of r47064

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47065 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46470

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47071 3c298f89-4303-0410-b956-a3cf2f4a3e73
This patch is to add the WIZnet WizFi630A board as a new platform. The board is in mini pci express form factor.

Signed-off-by: Tobias Welz <tw@wiznet.eu>

This is a backport of patch r46921

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47072 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46935

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47082 3c298f89-4303-0410-b956-a3cf2f4a3e73
jffs2reset was following symlinks making it delete mounts for example.

Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46960

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47083 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r46738

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47084 3c298f89-4303-0410-b956-a3cf2f4a3e73
Provides ubus calls for sysupgrade and password changing.

Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r47075

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47085 3c298f89-4303-0410-b956-a3cf2f4a3e73
only tested on mt7628

Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46950

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47086 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46951

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47087 3c298f89-4303-0410-b956-a3cf2f4a3e73
newer socs have 2 mux registers

Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46952

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47088 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46953

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47089 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46954

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47090 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46955

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47091 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46956

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47092 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46957

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47093 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46958

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47094 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46959

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47095 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46659

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47096 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r47073

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47097 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46475

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47098 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r47074

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47099 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r47076

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47100 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: John Crispin <blogic@openwrt.org>

Backport of r46474

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47101 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r47138

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47140 3c298f89-4303-0410-b956-a3cf2f4a3e73
…n mac os x

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r47139

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47141 3c298f89-4303-0410-b956-a3cf2f4a3e73
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r47142

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47144 3c298f89-4303-0410-b956-a3cf2f4a3e73
… mac80211 version

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47145 3c298f89-4303-0410-b956-a3cf2f4a3e73
One second is not enough for some devices to ackowledge null data frame
which is sent at the end of ap_max_inactivity interval. In particular,
this causes severe Wi-Fi instability with Apple iPhone which may take
up to 3 seconds to respond.

Signed-off-by: Dmitry Ivanov <dima@ubnt.com>

Backport of r47149

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47150 3c298f89-4303-0410-b956-a3cf2f4a3e73
@cdrag45 cdrag45 mentioned this pull request Feb 18, 2022
dmascord added a commit to dmascord/openwrt that referenced this pull request Jun 22, 2022
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M (802.11), port #3 on AR8327,
          1x1000M (802.11at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 | - on label - not in use in OpenWRT
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>
dmascord added a commit to dmascord/openwrt that referenced this pull request Oct 25, 2023
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M (802.11), port #3 on AR8327,
          1x1000M (802.11at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 | - on label - not in use in OpenWRT
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>
michaelchen644 pushed a commit to michaelchen644/openwrt that referenced this pull request Mar 26, 2024
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 9, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M (802.11), port openwrt#3 on AR8327,
          1x1000M (802.11at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 | - on label - not in use in OpenWRT
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Refactored MAC and calibration data setups to use nvmem-layout
- Switched LAN interface to be the PoE (primary) port
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port

TODO:
- Identify GPIOs for other LEDs and set pinctrl accordingly
- Add the shift registers for controlling beamforming antennas
- Add the bit-banged I²C bus used for onboard TPM
- Refactor boot scheme and flash layout
- Exclude the reserved memory region at top of RAM used for
  communication with bootloader

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 10, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M (802.11), port openwrt#3 on AR8327,
          1x1000M (802.11at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 | - on label - not in use in OpenWRT
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Refactored MAC and calibration data setups to use nvmem-layout
- Switched LAN interface to be the PoE (primary) port
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication

TODO:
- Add the shift registers for controlling beamforming antennas
- Add the bit-banged I²C bus used for onboard TPM
- Refactor boot scheme and flash layout

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 10, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Refactored MAC and calibration data setups to use nvmem-layout
- Switched LAN interface to be the PoE (primary) port
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM

TODO:
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported
- Configure Ethernet port LED initvals for link/act/speed
- Refactor boot scheme and flash layout

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 10, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Refactored MAC and calibration data setups to use nvmem-layout
- Switched LAN interface to be the PoE (primary) port
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM

TODO:
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported
- Configure Ethernet port LED initvals for link/act/speed
- Refactor boot scheme and flash layout

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 10, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Switched LAN interface to be the PoE (primary) port
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 10, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
 9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Switched LAN interface to be the PoE (primary) port
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 12, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
 9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Switched LAN interface to be the PoE (primary) port
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver.
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 12, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
 9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver.
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL pushed a commit to Leo-PL/openwrt that referenced this pull request Nov 12, 2024
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

 1. Setup tftp server on the local network
 2. Connect to UART with TTL
 3. Interupt uboot process with Ctrl-C
 4. Setup appropriate ipaddr and serverip in setenv:
	a) setenv ipaddr 192.168.1.1
	b) setenv serverip 192.168.1.2
 5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp/1600000A.img
 6. On R500 boot into initrd image
	a) tftpboot
	b) bootm
 7. On TFTP server - scp openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
 8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
 9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver.
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL added a commit to Leo-PL/openwrt that referenced this pull request Jan 9, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL added a commit to Leo-PL/openwrt that referenced this pull request Jan 12, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL added a commit to Leo-PL/openwrt that referenced this pull request Jan 12, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL added a commit to Leo-PL/openwrt that referenced this pull request Jan 13, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Leo-PL added a commit to Leo-PL/openwrt that referenced this pull request Jan 19, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
hauke pushed a commit to Leo-PL/openwrt that referenced this pull request Jan 20, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: openwrt#17550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
KGeri201 pushed a commit to KGeri201/openwrt that referenced this pull request Jan 24, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: openwrt#17550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Vladdrako pushed a commit to Vladdrako/openwrt that referenced this pull request Feb 8, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port #3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: openwrt#17550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
M3m3M4n pushed a commit to M3m3M4n/openwrt that referenced this pull request Feb 16, 2025
Ruckus R500 datasheet: https://webresources.ruckuswireless.com/datasheets/r500/ds-ruckus-r500.html

Specifications:

SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port openwrt#3 on AR8327,
          1x1000M (802.3at POE), port openwrt#5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164

MAC addresses:
 1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
 2. art 0x66   | eth0            | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
 3. art 0x6c   | eth1            | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port

Serial console: 115200-8-N-1 on internal H4 header.
Pinout:

H1
-----------
|1|x|3|4|5|
-----------

Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.

H9
----------------------
|2 |4 |6 |8 |10|12|14|
----------------------
|1 |3 |5 |7 |9 |11|13|
----------------------

3 - TDI
5 - TDO
7 - TMS
9 - TCK
2,4,6,8,10 - GND
14 - Vref
1,11,12,13 - Not connected

I²C: connector H2, near power LED, unpopulated:

------
|1|2|3
------
    H2

1 - SCL
2 - SDA
3 - GND

Installation:

Serial Port/TFTP

1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
  - setenv ipaddr 192.168.1.1
  - setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
  - tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
  - bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
    fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
  - setenv bootcmd bootm 0xbf1c0000
  - saveenv
  - reset

This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master

Signed-off-by: Damien Mascord <tusker@tusker.org>

- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
  more sense for an access point and is consistent with the rest of
  Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
  devices and maximize usable space for user data.

Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.

TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
  report "up" due to limitation of swconfig ar8327 driver. With DSA
  conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
  on ath10k GPIOs which are currently unsupported in the driver. For
  this, there is a device tree node describing that - but explicitly
  disabled.
- At the moment of adding support, there is an endianness bug in the TPM
  driver causing it to not detect the TPM module because of ID mismatch.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: openwrt#17550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants