I am currently working on porting over the Meraki MR33 device to LEDE, and am hitting a bit of a snag in terms of networking. To start, the device is a bit different in that it uses a IPQ4029 SoC, but also relies on an AR8035 ethernet phy. This is a bit strange as the IPQ4029 also has a built in switch, similar to other IPQ806x targets.
To start, here are the issues I am seeing:
The ethernet driver for the switch, ar40xx, completely fails to load and causes a hard kernel panic.
To get ethernet "somewhat working" on this device, a dirty patch 0 for ar40xx is needed that inits the port the PHY uses as well as the CPU port, but that's it. This only allows a link set at a static speed, and does not work with auto-detect. It also has issues with ARP traffic, where inbound ARP requests do not make it to the CPU port unless an ARP request is initiated from the device itself. It seems Cisco Meraki worked on patching essedma to fix the port link detection 1, but the Stock OS still shows the same ARP issues as mentioned.
I also saw that @blogic is working on a new ethernet driver for the IPQ806x target, named qca8k, but I have not seen much movement on this 2.
So my questions are:
Are there any plans to work on ar40xx, or is this getting deprecated with qca8k in the pipeline?
If so, is there an updated timeline for qca8k getting merged into LEDE?
Does qca8k have support for single NIC devices at this time?
Notice the date of this thread. This was before my work on the MR33 was merged upstream. @chunkeey was able to get the NIC working, but currently it lacks VLAN support.
@Flole been real busy, soz
let me know your email, i'll send you the wip patch so you can finish it. it works but there is a dma deadlock bug somewhere and i've failed to figure it out last time i looked. should not take you more than a couple of days to fix it.
It's been a week and I would like to ask, if there is any progress on the new driver? Thanks.
@admins@lleachii@jow@blogic @... can somebody please change the subject to "IPQ40xx target & Single NIC devices"? The topic was created for the MR33 - a IPQ40XX device - but it is no longer part of the IPQ806x target and the IPQ806x does not have this problem.
@chunkeey since we are at it, I was trying to compile k4.19 for ipq40xx (deleting and rebasing patches) and the essedma driver, which the patch says you're the author, is failing to compile due to changes in the timer API on k4.15.
Once k4.19-generic is ready (@hauke was working on it), we will be able to make more tests, but for now it is enough to prove that the essedma is not compiling. It would be great if you can find a fix.
I don't think that this would be a show-stopper. I would wait until the 4.19 OpenWrt changes have materialized (still some issues). If you absolutely need to do this project for (course?) credits or something, you could just post your patches without the driver and leave the target's KERNEL_PATCHVER variable as-is. This is in my opinion a much saner approach, don't you agree?