Add support to Unifi Switch - BCM53343

ok time to introduce a new tool...

sudo apt-get install -y binwalk

then

binwalk -e FILE.bin

if you have an OEM firmware file... use binwalk on it too...

NOTE:

thanks to the help from above... this exercise is likely just to get you 'tooled' a little better... but essentially.... based on the info they've given...

  • someone more capable can pretty easily build an initramfs for this without functional networking ( let me know if you still want one after a few weeks and nobody else has a recipe/file for you and i'll (try-to) do it )
  • next best move for you is to read up on this 'OpenNSL' business to see how much of a pain other people have found it...
1 Like

Excelent. Will do as soon as I get back home. Need to take my mother-in-law to take the covid vaccine in a short while

1 Like

there is one more possibility which is a bit 'left-field'....

you may be able to 'hexedit'/hack the firmware dump and change to correspinding 'bits' in the rom that return the POE driver init/status val to something which makes the OS happy ( disabled||fake-functional ) ( or if your a real hw modder... hook into the bus with a buspirate or something and 'mimick' the protocol )

it's pretty lowlevel ( probably beyond my abilities ) but given the amount of units with this issue... you could probably find more people on the general internet willing to help attempt this 'mod' ( or there is also a slim chance there is a 'property' elsewhere on the rom that governs POE init behavior... in this case it would be much easier to find and modify that senv/uboot-env? schmoo? noideawhatthatis nice name tho )

This was the initramfs I compiled for the es-8-150. I think its loady then go 0x1000000. Nothing much supported but you should get a prompt.

1 Like

Ok, here is the output of binwalking the out_m.bin (meraki):


AND here, is the binwalking output of the previous attempt with the rt-68U initramfs (found it after reviewing the GitHub history. Trying to boot gave the same results as with the previous meraki and the previous try with the wrongly chosen try):

I can see from the above two outputs, that the meraki seem to "separate" parts of the binary content as if different "partitions" (in lack of a better term), while the rt-68U does not. While I still don't understand what any of this means, I intend to learn...

1 Like

Here is the output of the file and binwalk commands using the initramfs file kindly shared by @clayface above. As I post this, I'm currently transferring it to my US-16-150 over serial connection using YMODEM. Will report back in a few minutes.

1 Like

bootm 0x01000000 with the above transferred file did not work

Wrong Image Format for bootm command
ERROR: can't get kernel image!)

I'm currently doing a second transfer of it, after doing
mkimage -A arm -O linux -T kernel -C none -a 0x01000000 -e 0x01000000 -n linux -d ./openwrt-bcm5334x-generic-ubiquiti_es-8-150w-initramfs-kernel.bin out_es_8_150.bin

Sorry, same result with the mkimaged file above.

  • try again without the header...
  • then try leaving -e and -a out of the command
  • then maybe try 00018000

should be go not bootm with the initramfs

Uhm, I will try again then. Should I try with the mkimaged file, or with the original file you shared?

not mine the switch8 one...

  • 1 - no mkimage at all
  • 2 - mkimage with no address
  • 3- mkimage with your oem address? ( may be risky? )

( bootm is typically: 'bootm ADDRESS' while go is typically 'go' not too sure where it gets it's info from... so your 'loady' is putting the initramfs at an address... typically you'd type: 'bootm 0x00018000' or wherever it was loaded to )

1 Like

Right, I meant the original switch8 initramfs or the mkimaged file of it... Transferring the original switch8 initramfs now.

IT BOOTS!!!!

u-boot> go 0x01000000
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.50 (root@cluster5) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r13770-edbc8e5512)) #0 Fri Jul 10 09:39:05 2020
[    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Ubiquiti UniFi Switch 8 (BCM53342)
[    0.000000] Memory policy: Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 65248
[    0.000000] Kernel command line: console=ttyS1,115200n8 earlyprintk
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 246960K/262144K available (4768K kernel code, 178K rwdata, 1264K rodata, 5120K init, 206K bss, 15184K reserved, 0K cma-reserved, 131072K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 128 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x4e120001
[    0.000000] random: get_random_bytes called from start_kernel+0x2e8/0x48c with crng_init=0
[    0.000020] sched_clock: 64 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.000058] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x2e2049dc38, max_idle_ns: 440795209465 ns
[    0.000097] Switching to timer-based delay loop, resolution 5ns
[    0.000285] sp804: arm,sp804 clock not found: -2
[    0.000314] Failed to initialize '/axi@18000000/timer@34000': -2
[    0.000396] sp804: arm,sp804 clock not found: -2
[    0.000416] Failed to initialize '/axi@18000000/timer@35000': -2
[    0.000538] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=2000000)
[    0.000560] pid_max: default: 32768 minimum: 301
[    0.000863] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000888] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.002142] CPU: Testing write buffer coherency: ok
[    0.002205] CPU0: Spectre v2: using BPIALL workaround
[    0.003022] Setting up static identity map for 0x100000 - 0x10003c
[    0.006230] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.006273] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.006436] pinctrl core: initialized pinctrl subsystem
[    0.007008] NET: Registered protocol family 16
[    0.007943] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.009127] No ATAGs?
[    0.014781] OF: amba_device_add() failed (-2) for /axi@18000000/watchdog@39000
[    0.033933] cryptd: max_cpu_qlen set to 1000
[    0.040178] clocksource: Switched to clocksource arm_global_timer
[    0.041397] thermal_sys: Registered thermal governor 'step_wise'
[    0.041873] NET: Registered protocol family 2
[    0.042735] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.042785] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.042818] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.042852] TCP: Hash tables configured (established 1024 bind 1024)
[    0.042997] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.043035] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.043363] NET: Registered protocol family 1
[    0.043420] PCI: CLS 0 bytes, default 64
[    0.158354] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    0.165686] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.165707] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.178381] bounce: pool size: 64 pages
[    0.178867] iproc-pcie 18012000.pcie: host bridge /pcie@18012000 ranges:
[    0.178913] iproc-pcie 18012000.pcie:   MEM 0x08000000..0x0fffffff -> 0x08000000
[    0.290122] iproc-pcie 18012000.pcie: PHY or data link is INACTIVE!
[    0.290150] iproc-pcie 18012000.pcie: no PCIe EP device detected
[    0.290166] iproc-pcie 18012000.pcie: PCIe controller setup failed
[    0.290377] iproc-pcie 18013000.pcie: host bridge /pcie@18013000 ranges:
[    0.290422] iproc-pcie 18013000.pcie:   MEM 0x40000000..0x47ffffff -> 0x40000000
[    0.410113] iproc-pcie 18013000.pcie: PHY or data link is INACTIVE!
[    0.410132] iproc-pcie 18013000.pcie: no PCIe EP device detected
[    0.410148] iproc-pcie 18013000.pcie: PCIe controller setup failed
[    0.410721] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.411724] printk: console [ttyS1] disabled
[    0.411832] 18000400.serial: ttyS1 at MMIO 0x18000400 (irq = 23, base_baud = 3125000) is a 16550A
[    0.874096] printk: console [ttyS1] enabled
[    0.880224] bcm_iproc 18027200.spi: using bspi-mspi mode
[    0.888859] spi-nor spi0.0: found mx25l25635e, expected m25p80
[    0.895186] spi-nor spi0.0: mx25l25635e (32768 Kbytes)
[    0.913421] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.919763] Creating 7 MTD partitions on "spi0.0":
[    0.924594] 0x000000000000-0x0000000c0000 : "u-boot"
[    0.930715] 0x0000000c0000-0x0000000d0000 : "u-boot-env"
[    0.937050] 0x0000000d0000-0x0000000e0000 : "shmoo"
[    0.942986] 0x0000000e0000-0x000000fe0000 : "kernel0"
[    0.949045] 0x000000fe0000-0x000001ef0000 : "kernel1"
[    0.955143] 0x000001ef0000-0x000001ff0000 : "cfg"
[    0.960887] 0x000001ff0000-0x000002000000 : "EEPROM"
[    0.967691] libphy: iProc MDIO bus: probed
[    0.971849] mdio_bus 18032000.mdio--1: phy@89 PHY address 137 is too large
[    0.978706] mdio_bus 18032000.mdio--1: phy@88 PHY address 136 is too large
[    0.985579] mdio_bus 18032000.mdio--1: phy@87 PHY address 135 is too large
[    0.992443] mdio_bus 18032000.mdio--1: phy@86 PHY address 134 is too large
[    0.999300] mdio_bus 18032000.mdio--1: phy@84 PHY address 132 is too large
[    1.006161] mdio_bus 18032000.mdio--1: phy@83 PHY address 131 is too large
[    1.013023] mdio_bus 18032000.mdio--1: phy@82 PHY address 130 is too large
[    1.019880] mdio_bus 18032000.mdio--1: phy@81 PHY address 129 is too large
[    1.026739] mdio_bus 18032000.mdio--1: phy@a1 PHY address 161 is too large
[    1.033601] mdio_bus 18032000.mdio--1: phy@a3 PHY address 163 is too large
[    1.040477] iproc-mdio 18032000.mdio: Broadcom iProc MDIO bus at 0x(ptrval)
[    1.048702] libphy: Fixed MDIO Bus: probed
[    1.053406] i2c /dev entries driver
[    1.057202] bcm-iproc-i2c 18038000.i2c: bus set to 100000 Hz
[    1.064227] bcm-iproc-i2c 1803b000.i2c: bus set to 100000 Hz
[   54.240130] bcm-iproc-i2c 18038000.i2c: transaction timed out
[   54.245883] pca954x 0-0070: probe failed
[   54.250178] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.255196] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.260207] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.265435] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.271351] lm75: probe of 0-0048 failed with error -16
[   54.276836] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.281869] lm75: probe of 0-0049 failed with error -16
[   54.288626] NET: Registered protocol family 10
[   54.295985] Segment Routing with IPv6
[   54.299781] NET: Registered protocol family 17
[   54.304577] 8021q: 802.1Q VLAN Support v1.8
[   54.308836] Registering SWP/SWPB emulation handler
[   54.327116] Freeing unused kernel memory: 5120K
[   54.332247] Run /init as init process
[   54.353067] init: Console is alive
[   54.368621] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   54.389089] usbcore: registered new interface driver usbfs
[   54.394717] usbcore: registered new interface driver hub
[   54.400149] usbcore: registered new device driver usb
[   54.414859] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   54.425376] ehci-fsl: Freescale EHCI Host controller driver
[   54.434866] ehci-platform: EHCI generic platform driver
[   54.448298] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   54.458298] ohci-platform: OHCI generic platform driver
[   54.470073] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   54.490467] init: - preinit -
[   54.703447] random: jshn: uninitialized urandom read (4 bytes read)
[   54.767017] random: jshn: uninitialized urandom read (4 bytes read)
[   54.793514] random: jshn: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   59.065601] procd: - early -
[   59.640789] procd: - ubus -
[   59.650092] urandom_read: 3 callbacks suppressed
[   59.654759] random: ubusd: uninitialized urandom read (4 bytes read)
[   59.700787] random: ubusd: uninitialized urandom read (4 bytes read)
[   59.707613] random: ubusd: uninitialized urandom read (4 bytes read)
[   59.715327] procd: - init -
Please press Enter to activate this console.
[   60.207664] kmodloader: loading kernel modules from /etc/modules.d/*
[   60.336391] xt_time: kernel timezone is -0000
[   60.392906] PPP generic driver version 2.4.2
[   60.411701] NET: Registered protocol family 24
[   60.464461] kmodloader: done loading kernel modules from /etc/modules.d/*
[   60.550663] urngd: v1.0.2 started.
[   60.692645] random: crng init done
[   60.696045] random: 1 urandom warning(s) missed due to ratelimiting



BusyBox v1.31.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r13770-edbc8e5512
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/#
4 Likes

dmesg command output from OpenWrt running from memory:

root@OpenWrt:/etc/config# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.50 (root@cluster5) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r13770-edbc8e5512)) #0 Fri Jul 10 09:39:05 2020
[    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Ubiquiti UniFi Switch 8 (BCM53342)
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 65536
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000]   HighMem zone: 32768 pages, LIFO batch:7
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 65248
[    0.000000] Kernel command line: console=ttyS1,115200n8 earlyprintk
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 246960K/262144K available (4768K kernel code, 178K rwdata, 1264K rodata, 5120K init, 206K bss, 15184K reserved, 0K cma-reserved, 131072K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 128 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x4e120001
[    0.000000] random: get_random_bytes called from start_kernel+0x2e8/0x48c with crng_init=0
[    0.000020] sched_clock: 64 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.000058] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x2e2049dc38, max_idle_ns: 440795209465 ns
[    0.000097] Switching to timer-based delay loop, resolution 5ns
[    0.000285] sp804: arm,sp804 clock not found: -2
[    0.000314] Failed to initialize '/axi@18000000/timer@34000': -2
[    0.000396] sp804: arm,sp804 clock not found: -2
[    0.000416] Failed to initialize '/axi@18000000/timer@35000': -2
[    0.000538] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=2000000)
[    0.000560] pid_max: default: 32768 minimum: 301
[    0.000863] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000888] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.002142] CPU: Testing write buffer coherency: ok
[    0.002205] CPU0: Spectre v2: using BPIALL workaround
[    0.003022] Setting up static identity map for 0x100000 - 0x10003c
[    0.006230] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.006273] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.006436] pinctrl core: initialized pinctrl subsystem
[    0.007008] NET: Registered protocol family 16
[    0.007943] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.009127] No ATAGs?
[    0.014781] OF: amba_device_add() failed (-2) for /axi@18000000/watchdog@39000
[    0.033933] cryptd: max_cpu_qlen set to 1000
[    0.040178] clocksource: Switched to clocksource arm_global_timer
[    0.041397] thermal_sys: Registered thermal governor 'step_wise'
[    0.041873] NET: Registered protocol family 2
[    0.042735] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.042785] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.042818] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.042852] TCP: Hash tables configured (established 1024 bind 1024)
[    0.042997] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.043035] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.043363] NET: Registered protocol family 1
[    0.043420] PCI: CLS 0 bytes, default 64
[    0.158354] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    0.165686] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.165707] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.178381] bounce: pool size: 64 pages
[    0.178867] iproc-pcie 18012000.pcie: host bridge /pcie@18012000 ranges:
[    0.178913] iproc-pcie 18012000.pcie:   MEM 0x08000000..0x0fffffff -> 0x08000000
[    0.290122] iproc-pcie 18012000.pcie: PHY or data link is INACTIVE!
[    0.290150] iproc-pcie 18012000.pcie: no PCIe EP device detected
[    0.290166] iproc-pcie 18012000.pcie: PCIe controller setup failed
[    0.290377] iproc-pcie 18013000.pcie: host bridge /pcie@18013000 ranges:
[    0.290422] iproc-pcie 18013000.pcie:   MEM 0x40000000..0x47ffffff -> 0x40000000
[    0.410113] iproc-pcie 18013000.pcie: PHY or data link is INACTIVE!
[    0.410132] iproc-pcie 18013000.pcie: no PCIe EP device detected
[    0.410148] iproc-pcie 18013000.pcie: PCIe controller setup failed
[    0.410721] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.411724] printk: console [ttyS1] disabled
[    0.411832] 18000400.serial: ttyS1 at MMIO 0x18000400 (irq = 23, base_baud = 3125000) is a 16550A
[    0.874096] printk: console [ttyS1] enabled
[    0.880224] bcm_iproc 18027200.spi: using bspi-mspi mode
[    0.888859] spi-nor spi0.0: found mx25l25635e, expected m25p80
[    0.895186] spi-nor spi0.0: mx25l25635e (32768 Kbytes)
[    0.913421] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.919763] Creating 7 MTD partitions on "spi0.0":
[    0.924594] 0x000000000000-0x0000000c0000 : "u-boot"
[    0.930715] 0x0000000c0000-0x0000000d0000 : "u-boot-env"
[    0.937050] 0x0000000d0000-0x0000000e0000 : "shmoo"
[    0.942986] 0x0000000e0000-0x000000fe0000 : "kernel0"
[    0.949045] 0x000000fe0000-0x000001ef0000 : "kernel1"
[    0.955143] 0x000001ef0000-0x000001ff0000 : "cfg"
[    0.960887] 0x000001ff0000-0x000002000000 : "EEPROM"
[    0.967691] libphy: iProc MDIO bus: probed
[    0.971849] mdio_bus 18032000.mdio--1: phy@89 PHY address 137 is too large
[    0.978706] mdio_bus 18032000.mdio--1: phy@88 PHY address 136 is too large
[    0.985579] mdio_bus 18032000.mdio--1: phy@87 PHY address 135 is too large
[    0.992443] mdio_bus 18032000.mdio--1: phy@86 PHY address 134 is too large
[    0.999300] mdio_bus 18032000.mdio--1: phy@84 PHY address 132 is too large
[    1.006161] mdio_bus 18032000.mdio--1: phy@83 PHY address 131 is too large
[    1.013023] mdio_bus 18032000.mdio--1: phy@82 PHY address 130 is too large
[    1.019880] mdio_bus 18032000.mdio--1: phy@81 PHY address 129 is too large
[    1.026739] mdio_bus 18032000.mdio--1: phy@a1 PHY address 161 is too large
[    1.033601] mdio_bus 18032000.mdio--1: phy@a3 PHY address 163 is too large
[    1.040477] iproc-mdio 18032000.mdio: Broadcom iProc MDIO bus at 0x(ptrval)
[    1.048702] libphy: Fixed MDIO Bus: probed
[    1.053406] i2c /dev entries driver
[    1.057202] bcm-iproc-i2c 18038000.i2c: bus set to 100000 Hz
[    1.064227] bcm-iproc-i2c 1803b000.i2c: bus set to 100000 Hz
[   54.240130] bcm-iproc-i2c 18038000.i2c: transaction timed out
[   54.245883] pca954x 0-0070: probe failed
[   54.250178] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.255196] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.260207] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.265435] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.271351] lm75: probe of 0-0048 failed with error -16
[   54.276836] bcm-iproc-i2c 18038000.i2c: bus is busy
[   54.281869] lm75: probe of 0-0049 failed with error -16
[   54.288626] NET: Registered protocol family 10
[   54.295985] Segment Routing with IPv6
[   54.299781] NET: Registered protocol family 17
[   54.304577] 8021q: 802.1Q VLAN Support v1.8
[   54.308836] Registering SWP/SWPB emulation handler
[   54.327116] Freeing unused kernel memory: 5120K
[   54.332247] Run /init as init process
[   54.353067] init: Console is alive
[   54.368621] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   54.389089] usbcore: registered new interface driver usbfs
[   54.394717] usbcore: registered new interface driver hub
[   54.400149] usbcore: registered new device driver usb
[   54.414859] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   54.425376] ehci-fsl: Freescale EHCI Host controller driver
[   54.434866] ehci-platform: EHCI generic platform driver
[   54.448298] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   54.458298] ohci-platform: OHCI generic platform driver
[   54.470073] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   54.490467] init: - preinit -
[   54.703447] random: jshn: uninitialized urandom read (4 bytes read)
[   54.767017] random: jshn: uninitialized urandom read (4 bytes read)
[   54.793514] random: jshn: uninitialized urandom read (4 bytes read)
[   59.065601] procd: - early -
[   59.640789] procd: - ubus -
[   59.650092] urandom_read: 3 callbacks suppressed
[   59.654759] random: ubusd: uninitialized urandom read (4 bytes read)
[   59.700787] random: ubusd: uninitialized urandom read (4 bytes read)
[   59.707613] random: ubusd: uninitialized urandom read (4 bytes read)
[   59.715327] procd: - init -
[   60.207664] kmodloader: loading kernel modules from /etc/modules.d/*
[   60.336391] xt_time: kernel timezone is -0000
[   60.392906] PPP generic driver version 2.4.2
[   60.411701] NET: Registered protocol family 24
[   60.464461] kmodloader: done loading kernel modules from /etc/modules.d/*
[   60.550663] urngd: v1.0.2 started.
[   60.692645] random: crng init done
[   60.696045] random: 1 urandom warning(s) missed due to ratelimiting
1 Like

WINNER! ( :partying_face: ) thanks heaps @clayface :ok_hand:

No Sir, thanks to all that chimed in and provided help over the last couple of days, which of course includes you in a prominent position.

I suppose I now have to find out what to do to make the network work. I've seen errors while loading OpenWrt, which seem to indicate that the switch was not recognized (Do I get right what "iproc-pcie 18013000.pcie: PHY or data link is INACTIVE!" means?) There were a few other fails above this line as well...

yes, fundamentally... from here on in... things get a little complex... but essentially... combinations of;

  • edit dts > turn dts into dtb with 'dtc' command > readd dtb to kernel and add header then test ( quite a few posts / guides on this )
  • same but use 'make kernel_menuconfig' and include (or remove) drivers ( also posts and guides
    on this )
  • [guru-level] add or modify drivers within the kernel ( good luck )

most of it is beyond my skillset... but I can talk you through the 'make kernel_menuconfig' if you get a buildroot up and running...

yeah... pcie, timer and mdio are the main things to pay attention to in that output...

( even if you stop where you are... this thread is a valuable reference / starting point for anyone who comes along in the future... so it's an achievement in itself )

1 Like

So much to learn, so little neurons still working... (I'm 59, btw).

2 Likes