IPQ40xx target & Single NIC devices


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:

  1. The ethernet driver for the switch, ar40xx, completely fails to load and causes a hard kernel panic.

  2. 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:

  1. Are there any plans to work on ar40xx, or is this getting deprecated with qca8k in the pipeline?
  2. If so, is there an updated timeline for qca8k getting merged into LEDE?
  3. Does qca8k have support for single NIC devices at this time?

try this patch

Why would you bring this thread up since MR33 is supported fine

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.

1 Like

I guess we are all still waiting for @blogic new driver:

which comes along with proper DSA and HWNAT support to replace essedma and that google abomination that is "ar40xx".

1 Like

hope for the new driver :slight_smile:

is there any news to bring vlan up ? :slight_smile:

Probably still waiting for @blogic and his driver, that's been "almost ready" since more than a year ago now.....

@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.

Topic title changed.

1 Like

@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.

More information about the driver:

  • patch: 710-net-add-qualcomm-essedma-ethernet-driver.patch
  • init_timer() was removed by kernel 4.15 (commit 7eeb6b893bd28c68b6d664de1d3120e49b855cdb)
  • Improving the kernel timers API: https://lwn.net/Articles/735887/

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.

My work (based on hauke's k4.19-generic) is at:

1 Like

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?

It's been a week and I would like to ask, if there is any progress on the new driver? Thanks.

Unfortunately I never received the source from @blogic, even though I messaged him my email address a while ago. Therefore I was unable to work on it.

1 Like

That's unfortunate.

0001-ipqnet.patch (67.6 KB)

there you go. you just need to point the finger long enough :slight_smile: its a real dirty wip patch but i recall that i managed to pass traffic with the driver


found my qca8k patches for the ipq4019

Awesome, thank you very much. This should help to finally get the MR33 VLAN capable.

Just wondering if this is going somewhere... Have a bunch of Fritzbox 4040 I'd like to try this on.

Quick Q - any joy on this? Would love to use MR33 as a VLAN capable device