Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ath79: add support for Joy-IT JT-OR750i #4293

Closed
wants to merge 1 commit into from

Conversation

CodeFetch
Copy link
Contributor

Specifications:

  • QCA9531, 16 MiB flash, 128 MiB RAM, 802.11n 2T2R
  • QCA9887, 802.11ac 1T1R
  • 3x 10/100 LAN, 1x 10/100 WAN

Installation:

  • The device comes with a bootloader installed only
  • The bootloader offers DHCP and is reachable at http://10.123.123.1
  • Accept the agreement and flash sysupgrade.bin
  • Use Firefox if flashing does not work

TFTP recovery with static IP:

  • Rename sysupgrade.bin to jt-or750i_firmware.bin
  • Offer it via TFTP server at 192.168.0.66
  • Keep the reset button pressed for 4 seconds after connecting power

TFTP recovery with dynamic IP:

  • Rename sysupgrade.bin to jt-or750i_firmware.bin
  • Offer it via TFTP server with a DHCP server running at the same address
  • Keep the reset button pressed for 6 seconds after connecting power

Co-authored-by: Sebastian Schaper openwrt@sebastianschaper.net
Signed-off-by: Vincent Wiemann vincent.wiemann@ironai.com

@adschm adschm added the target/ath79 pull request/issue for ath79 target label Jun 20, 2021
target/linux/ath79/dts/qca9531_joyit_jt-or750i.dts Outdated Show resolved Hide resolved
@@ -225,6 +225,12 @@ glinet,gl-x750)
hak5,lan-turtle)
ucidef_set_led_netdev "wan" "WAN" "orange:system" "eth1"
;;
joyit,jt-or750i)
ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eth1

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adschm The new bootloader sets GPIO MUX functions for the LAN/WAN ports' LEDs to blink. From what I heard it was preferred to reset the GPIO MUX registers and let kmod-ledtrigger do the work. Actually I've thought this was default in OpenWrt, but they are not. That's why I didn't realize the WAN-LED assignment was wrong. How shall this be handled? As the LEDs are integrated in the ports I don't expect anyone wanting to reassign them. Therefore I'd like to remove the GPIO network port LED definitions completely to save some CPU cycles...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@blocktrron Do you have a clue how to handle this? From what I remember the GPIO MUX functions were resetted previously in ath79. Momentarily they are not. I'd prefer letting the MUX do the blinking. Is it okay to remove the port LED definitions or will OpenWrt eventually reset the GPIO MUX functions in the future again?

@s-2 You once showed me an ath79 board where they set the switch LED_BLINK and GPIO MUX registers from the DTS. Which was it? I think that would be an alternative approach so that when OpenWrt decides to reset the MUX register again, it won't break this board...

Copy link
Contributor

@s-2 s-2 Jun 22, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You once showed me an ath79 board where they set the switch LED_BLINK and GPIO MUX registers from the DTS.

Regarding the GPIO settings on the SoC side: the &pinmux node in qca953x.dtsi is set to 0x1804002c, i.e. the start offset of GPIO_OUT_FUNCTION0; e.g. in compex_wpj531-16m: <0x8 0x2b000000 0xff000000> means GPIO 11 (in GPIO_OUT_FUNCTION_2) is set to 43: LED_LINK (for port 2) etc.

Many other devices just write values to 0x0 to restore normal SoC GPIO function (overriding bootloader defaults, e.g.
pinctrl-single,bits = <0xc 0x0 0x00ff0000>;).

However, I can't seem to find devices changing LED registers of builtin_switch though, there are only initvals for external ar8327-switches (a few devices declare pinmux in the builtin_switch node, but that again refers to SoC regs eventually).

Technically, they should be accessible though, by writing pinmux entries for switch registers 0xB0, 0xB4, 0xB8, 0xBC.
Not sure if those are the ones you mean? (they are 32 bit registers, accessible via tunneling of two 16 bit commands through MDIO), while there are also LED_CONTROL rules //edit: these are just the names of 16bit fields within those (32 bit) switch registers.
However, apparently none of these are ever written from any dts though...

//edit: looking at the ag71xx source, builtin-switch; from dts is only used to determine default clock speeds etc., can't find any dt bindings for pinmux though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@s-2 Yes those are the registers I was referring to...

I'd prefer then to set the MUX registers in the DTS to reflect the bootloader's configuration and completely remove the GPIO LED definitions for the port LEDs. I think it is a waste of CPU cycles to trigger them and I can't figure out a reason someone wants to control them manually.

target/linux/ath79/dts/qca9531_joyit_jt-or750i.dts Outdated Show resolved Hide resolved
@mpratt14
Copy link
Contributor

  • The device comes with a bootloader installed only

comes with bootloader and ART?

also, include in Specification as many things as you can like:
flash chip model
UART (pinout, header or no header, silkscreen label)
internal or external antennas

@CodeFetch CodeFetch force-pushed the patch-9 branch 2 times, most recently from 197d43b to 6ea2072 Compare June 20, 2021 21:33
@adschm
Copy link
Member

adschm commented Jun 20, 2021

@blocktrron FYI, since you made a similar patch a few years ago ...

@CodeFetch
Copy link
Contributor Author

CodeFetch commented Jun 20, 2021

@mpratt14

comes with bootloader and ART?

Yes, the manufacturer calibrates the router with their firmware and installs the Joy-IT bootloader afterwards and wipes the firmware partition.

@CodeFetch
Copy link
Contributor Author

Here's a newer version of the bootloader:
https://transfer.sh/1Ti48Dy/jt-or750i_bootloader_final.bin

It can be flashed on the old bootloader's failsafe web interface under /bootloader_en.cgi

@adschm
Copy link
Member

adschm commented Jun 20, 2021

Possibly it was needed for an older version of the bootloader of the testing devices to drive GPIO4, but it is not anymore and testers are encouraged to update the bootloader which has +50% higher clocks.

Well, replacing bootloader should not be necessary to get a device supported, at least not on ath79 target.

Anyway, this leads to the obvious question about this device: Has it ever been sold regularly? Because otherwise, OpenWrt will probably not add it as a supported device.

@CodeFetch
Copy link
Contributor Author

@adschm

Well, replacing bootloader should not be necessary to get a device supported, at least not on ath79 target.

Some Freifunk communities have been getting a few devices for testing with old bootloaders and were made aware that these probably need an update before being officially supported. (Theirs are called JIT-OR750i if that makes a difference)

Anyway, this leads to the obvious question about this device: Has it ever been sold regularly? Because otherwise, OpenWrt will probably not add it as a supported device.

The final devices for sale are on their way to Europe since 2 months (shipping delay) and will be sold soon.
In my view it makes sense to support them in OpenWrt right from the beginning.

@mpratt14
Copy link
Contributor

@mpratt14

comes with bootloader and ART?

Yes, the manufacturer calibrates the router with their firmware and installs the Joy-IT bootloader afterwards and wipes the firmware partition.

that's also good info for the commit message, so the context of "bootloader only" is better understood

@CodeFetch
Copy link
Contributor Author

@mpratt14

that's also good info for the commit message, so the context of "bootloader only" is better understood

I don't think people will assume that there is no ART partition. Actually I wondered what you are referring to 😀... You can compare it with a mini computer like Raspberry Pi which comes without OS, too. There is a usage agreement which states that one must make sure that the OS complies with legal regulations. So it's quite open...

@mpratt14
Copy link
Contributor

maybe it's just me thinking of the noobs out there. I tend to think the longer the commit message the better 😄

@CodeFetch
Copy link
Contributor Author

@mpratt14 It shall be noob-friendly. We are going to create a very detailed Wiki article.

@CodeFetch CodeFetch marked this pull request as draft June 21, 2021 18:00
@adschm adschm added the work in progress pull request the author is still working on label Jun 21, 2021
@CodeFetch CodeFetch marked this pull request as ready for review July 13, 2021 06:41
@CodeFetch
Copy link
Contributor Author

I think this is ready for merge now. The device will be sold tomorrow.
Please note the following changes:

  • Contrary to the devices the beta testers have received the red and green status LED GPIOs were swapped.
  • The port's LEDs are now controlled by QCA9531 MUX.
  • Instead of kmod-ath10k-ct this device selects kmod-ath10k. The reason is that problems were described with Candelatech's firmware on QCA9887 devices. This likely also affects other devices with QCA9887 chips. I've talked to Ben Greear a while ago, but he is not particularly interested in these chips.

@adschm
Copy link
Member

adschm commented Jul 17, 2021

Instead of kmod-ath10k-ct this device selects kmod-ath10k. The reason is that problems were described with Candelatech's firmware on QCA9887 devices. This likely also affects other devices with QCA9887 chips. I've talked to Ben Greear a while ago, but he is not particularly interested in these chips.

This will be a problem, since I don't think many people are keen on starting "mixed support" again...

@CodeFetch
Copy link
Contributor Author

@adschm What shall we do then? Change it for all qca988x-devices?

greearb/ath10k-ct#180 (comment)

@CodeFetch
Copy link
Contributor Author

@adschm It would be nice to have this router in the next release. Ben Greear recommends himself to use the official ath10k driver on these platforms. So shall I open a pull-request for changing them?

Are there any other issues with this PR?

@CodeFetch
Copy link
Contributor Author

I've created a pull-request:
#4385

@CodeFetch
Copy link
Contributor Author

@adschm I've changed the driver to the Candelatech version. Can it be merged now?

@adschm
Copy link
Member

adschm commented Jul 25, 2021

@adschm It would be nice to have this router in the next release.

He have not even finished 21.02 yet, so there should be plenty of time until the next release.

@CodeFetch
Copy link
Contributor Author

@adschm What do you mean? 21.02-rc4 or a 21.02 stable is the next release, isn't it? And simple device support will be backported in most cases, won't it? So what's missing here?

@s-2
Copy link
Contributor

s-2 commented Jul 26, 2021

And simple device support will be backported in most cases, won't it? So what's missing here?

By default, most devices are indeed not backported to the current work-in-progress release, after branching off master.

In any case, the process would be

  • have the device merged into master
  • open a new PR that would backport changes into the current release branch
  • convince maintainers it's important to backport these changes, e.g. fixes made to existing device support etc.

@CodeFetch
Copy link
Contributor Author

@s-2 I just think it would be very nice for a device which openly endorses OpenWrt to be supported right from the beginning, because I don't like that they offer self-built images...

@mpratt14
Copy link
Contributor

unfortunately, a clean backport is no longer possible, because master has the new way to define art partition and 21.02 does not

so either an edited commit or an extra commit to make that change for backporting

any difference like this would be something that needs review again

@CodeFetch
Copy link
Contributor Author

@mpratt14 Can you point me to a commit? I don't know what you are referring to. I don't have a problem to make a backporting request PR, but I think it should be merged in master first...

@mpratt14
Copy link
Contributor

I mean this, I guess it is not the partition exactly but for the MACs, this is in master but not 21.02

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=abc17bf306acd1c5954fbba97134e891439f917c

but either way master branch is first like you said

@CodeFetch
Copy link
Contributor Author

@mpratt14 Ah I didn't see that. Thank you. I have updated the PR accordingly.

Specifications:
 * QCA9531, 16 MiB flash (Winbond W25Q128JVSQ), 128 MiB RAM
 * 802.11n 2T2R (external antennas)
 * QCA9887, 802.11ac 1T1R (connected with diplexer to one of the antennas)
 * 3x 10/100 LAN, 1x 10/100 WAN
 * UART header with pinout printed on PCB

Installation:
 * The device comes with a bootloader installed only
 * The bootloader offers DHCP and is reachable at http://10.123.123.1
 * Accept the agreement and flash sysupgrade.bin
 * Use Firefox if flashing does not work

TFTP recovery with static IP:
 * Rename sysupgrade.bin to jt-or750i_firmware.bin
 * Offer it via TFTP server at 192.168.0.66
 * Keep the reset button pressed for 4 seconds after connecting power

TFTP recovery with dynamic IP:
 * Rename sysupgrade.bin to jt-or750i_firmware.bin
 * Offer it via TFTP server with a DHCP server running at the same address
 * Keep the reset button pressed for 6 seconds after connecting power

Co-authored-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com>
@adschm
Copy link
Member

adschm commented Jul 26, 2021

@adschm What do you mean? 21.02-rc4 or a 21.02 stable is the next release, isn't it? And simple device support will be backported in most cases, won't it?

No. https://openwrt.org/docs/guide-developer/device-support-policies#backports

@blocktrron
Copy link
Member

Merged to my staging tree - thanks!

Regarding a backport: I'll push one to the upcoming 21.02 branch, hopefully rc builds will be available in a reasonable timeframe.

WIth the device being targeted to a broad audience specifically for use with OpenWrt, which is not necessarily familiar with OpenWrt, having builds with a working package repository are desirable. I think this justifies it enough.

@blocktrron blocktrron closed this Jul 28, 2021
@blocktrron
Copy link
Member

blocktrron commented Jul 28, 2021

Built an image with this patch, but it does not boot:

Hit any key to stop booting:  0

Booting image from 0x9F050000...

   Image name:    MIPS OpenWrt Linux-5.4.134
   Build date:    2021-07-28 10:37:40 UTC
   Architecture:  MIPS
   OS/image type: Linux Kernel
   Compression:   LZMA
   Data size:     2 MB (2052662 bytes)
   Load address:  0x80060000
   Entry point:   0x80060000

   Header CRC...  OK!
   Data CRC...    skipped

Stopping network... OK!
Uncompressing Kernel... OK!
Starting kernel...

[    0.000000] Linux version 5.4.134 (dbauer@dbauer-x470) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r17181+47-b309248730)) #0 Wed Jul 28 10:37:40 2021
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] MIPS: machine is Joy-IT JT-OR750i
[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    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] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 122132K/131072K available (4922K kernel code, 187K rwdata, 1128K rodata, 1176K init, 196K bss, 8940K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] random: get_random_bytes called from start_kernel+0x358/0x54c with crng_init=0
[    0.000000] CPU clock: 650.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[    0.000010] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[    0.008890] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[    0.075997] pid_max: default: 32768 minimum: 301
[    0.081437] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.089733] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.103682] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.114926] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.122794] pinctrl core: initialized pinctrl subsystem
[    0.130104] NET: Registered protocol family 16
[    0.170968] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.186276] clocksource: Switched to clocksource MIPS
[    0.193608] NET: Registered protocol family 2
[    0.198841] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.207830] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.217430] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.226138] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.234170] TCP: Hash tables configured (established 1024 bind 1024)
[    0.241587] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.249084] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.257432] NET: Registered protocol family 1
[    0.262420] PCI: CLS 0 bytes, default 32
[    0.271834] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.287818] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.294444] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.326384] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[    0.334083] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.342285] printk: console [ttyS0] disabled
[    0.347280] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[    0.357107] printk: console [ttyS0] enabled
[    0.357107] printk: console [ttyS0] enabled
[    0.366157] printk: bootconsole [early0] disabled
[    0.366157] printk: bootconsole [early0] disabled
[    0.393880] spi-nor spi0.0: w25q128 (16384 Kbytes)
[    0.398982] 4 fixed-partitions partitions found on MTD device spi0.0
[    0.405537] Creating 4 MTD partitions on "spi0.0":
[    0.410525] 0x000000000000-0x000000040000 : "u-boot"
[    0.417031] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.423650] 0x000000050000-0x000000ff0000 : "firmware"
[    0.433580] 2 uimage-fw partitions found on MTD device firmware
[    0.439782] Creating 2 MTD partitions on "firmware":
[    0.444938] 0x000000000000-0x000000200000 : "kernel"
[    0.451215] 0x000000200000-0x000000fa0000 : "rootfs"
[    0.457533] mtd: device 4 (rootfs) set to be root filesystem
[    0.465683] 1 squashfs-split partitions found on MTD device rootfs
[    0.472177] 0x000000560000-0x000000fa0000 : "rootfs_data"
[    0.478990] 0x000000ff0000-0x000001000000 : "art"
[    0.487521] libphy: Fixed MDIO Bus: probed
[    0.847382] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[    1.526740] libphy: ag71xx_mdio: probed
[    1.532257] libphy: ar8xxx-mdio: probed
[    1.545922] switch0: Atheros AR8229 rev. 1 switch registered on mdio.0
[    1.598270] ag71xx 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.608401] eth0: Atheros AG71xx at 0xba000000, irq 5, mode: gmii
[    1.614931] i2c /dev entries driver
[    1.621047] NET: Registered protocol family 10
[    1.631806] Segment Routing with IPv6
[    1.635749] NET: Registered protocol family 17
[    1.640529] 8021q: 802.1Q VLAN Support v1.8
[    1.645998] PCI host bridge /ahb/pcie-controller@180c0000 ranges:
[    1.652415]  MEM 0x0000000010000000..0x0000000013ffffff
[    1.657837]   IO 0x0000000000000000..0x0000000000000000
[    1.663465] PCI host bridge to bus 0000:00
[    1.667762] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[    1.674861] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.680627] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    1.687651] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.695874] pci 0000:00:00.0: [168c:0050] type 00 class 0x028000
[    1.702146] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    1.709220] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    1.716218] pci 0000:00:00.0: supports D1
[    1.720376] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    1.727448] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    1.734309] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x101fffff 64bit]
[    1.741933] pci 0000:00:00.0: BAR 6: assigned [mem 0x10200000-0x1020ffff pref]
[    1.749782] CPU 0 Unable to handle kernel paging request at virtual address 44d1fa59, epc == 8051ddbc, ra == 8038c21c
[    1.760740] Oops[#1]:
[    1.763092] CPU: 0 PID: 108 Comm: kworker/0:1 Not tainted 5.4.134 #0
[    1.769686] Workqueue: events deferred_probe_work_func
[    1.774989] $ 0   : 00000000 00000001 ffffffff ffffffff
[    1.780383] $ 4   : 44d1fa5a 87fa3901 87d29cec 805e0000
[    1.785777] $ 8   : 00000001 fffffffd 00000000 706c6174
[    1.791171] $12   : fffffffd 00000402 00000000 00000000
[    1.796566] $16   : 87e2e580 87fa3900 87d29cec 00000001
[    1.801959] $20   : 00000000 87fa380c 87fa3800 00000000
[    1.807354] $24   : ffffffff 00000000                  
[    1.812747] $28   : 87d28000 87d29c78 80658950 8038c21c
[    1.818141] Hi    : 00000003
[    1.821107] Lo    : eb851ec8
[    1.824082] epc   : 8051ddbc strcmp+0x8/0x40
[    1.828521] ra    : 8038c21c __of_find_property+0x48/0x9c
[    1.834091] Status: 1000e402 KERNEL EXL 
[    1.838142] Cause : 00800008 (ExcCode 02)
[    1.842280] BadVA : 44d1fa59
[    1.845248] PrId  : 00019374 (MIPS 24Kc)
[    1.849294] Modules linked in:
[    1.852447] Process kworker/0:1 (pid: 108, threadinfo=(ptrval), task=(ptrval), tls=00000000)
[    1.861148] Stack : 87fa2180 87c78810 00000001 00000000 00000001 87fa2180 87c78810 8038c290
[    1.869777]         00000003 80658908 00000000 87d29cb8 87fa3900 802bc304 805ec7dc 800b1e24
[    1.878405]         00000000 00001b10 8061ab6c 87c881bb 00000000 805dc1c8 00000000 8000454c
[    1.887033]         00000000 805e0000 805dc194 8061ad74 807a0000 87fa3880 00000000 00000000
[    1.895662]         87c78810 87fa2180 87c78810 00000001 00000000 87fa380c 00000002 87fa3800
[    1.904290]         ...
[    1.906810] Call Trace:
[    1.909333] [<8051ddbc>] strcmp+0x8/0x40
[    1.913393] [<8038c21c>] __of_find_property+0x48/0x9c
[    1.918609] [<8038c290>] of_find_property+0x20/0x44
[    1.923652] [<802bc304>] pinctrl_dt_to_map+0x9c/0x378
[    1.928892] [<802b880c>] create_pinctrl+0x7c/0x438
[    1.933841] [<802b8d04>] devm_pinctrl_get+0x40/0xbc
[    1.938897] [<80339480>] pinctrl_bind_pins+0x64/0x13c
[    1.944120] [<8032638c>] really_probe+0x8c/0x358
[    1.948883] [<803244b4>] bus_for_each_drv+0x70/0xb0
[    1.953918] [<803262bc>] __device_attach+0x114/0x150
[    1.959044] [<803253ec>] bus_probe_device+0x9c/0xb8
[    1.964080] [<803259b0>] deferred_probe_work_func+0x7c/0xbc
[    1.969856] [<80099bd4>] process_one_work+0x220/0x480
[    1.975075] [<8009a160>] worker_thread+0x32c/0x5c8
[    1.980032] [<8009ecd8>] kthread+0x138/0x140
[    1.984451] [<80064cb8>] ret_from_kernel_thread+0x14/0x1c
[    1.990029] Code: 00000000  24840001  24a50001 <9082ffff> 90a3ffff  14430005  00000000  1440fffa  24840001 
[    2.000100] 
[    2.001699] ---[ end trace 692693468b6eca07 ]---
[    2.006479] Kernel panic - not syncing: Fatal exception
[    2.011873] Rebooting in 1 seconds..

@blocktrron blocktrron reopened this Jul 28, 2021
@blocktrron
Copy link
Member

Panic was not related to this PR, temporarily fixed in bd521f2

@blocktrron blocktrron closed this Jul 28, 2021
@blocktrron
Copy link
Member

I've prepared a 21.02 backport for this device, please report if it works as expected on the production unit: https://git.openwrt.org/?p=openwrt/staging/blocktrron.git;a=shortlog;h=refs/heads/openwrt-21.02

@CodeFetch
Copy link
Contributor Author

@blockttron Thank you for catching the issue with the swapped switch LEDs! They were mirrored... I didn't see it, because the new bootloader's values were not overridden. I've tested the OpenWrt master. Looks good.

@CodeFetch
Copy link
Contributor Author

@blocktrron The backport tree also works...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs changes target/ath79 pull request/issue for ath79 target work in progress pull request the author is still working on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants