[BPI-M2 Zero]Ethernet socket reference

Hi all,

As referenced on wiki page https://wiki.banana-pi.org/Banana_Pi_BPI-M2_ZERO, the BPIZERO M2 is equiped with Ethernet capabiities.

The RJ receptacle reference is not specified on the wiki page, so I use a DS1128-09-S8B8X ( https://lcsc.com/product-detail/Ethernet-Connectors-Modular-Connectors-RJ45-RJ11_CONNFLY-Elec-DS1128-09-S8B8X_C86578.html)

and I followed the schematic: https://forum.banana-pi.org/uploads/default/original/2X/7/730d36a18dd0f69bcb032c530da6d97b2283a9d5.jpg

But nothing works.

Someone knows that is the Ethernet socket reference involved here? (wiki page)29

It seem that a H3-BGA3XX is used but we can not found it from many suppliers (lcsc, digikey, etc…) and I’ve also tried BGA3 bla bla bla… Nothing What is the real reference of this component? Does an equivalent exist ? 45

In addition, many receptacles are numbered from 1 to 8. Not by, B4, A2, etc. More details from editor are welcome.

In advance many thanks

I just started trying to do the same, however I even do not see my eth0 device. Do you see the eth0 device, and if yes what image did you use?

EDIT: just installed latest armbian buster https://armbian.hosthatch.com/archive/bananapim2zero/archive/Armbian_21.08.1_Bananapim2zero_buster_current_5.10.60.img.xz and now eth0 is visible :slightly_smiling_face:

will try to connect to my network tomorrow and let you know

It’s working. You need to connect pins 1,2,3 and 6 on the RJ45 connector grafik

I have designed a small PCB where you can see the connections

M2-Zero -> RJ45 : 1 -> 1 | 2 -> 6 | 3 -> 2 | 4 -> 3 grafik

The idea is to have a ‘plug in’ solution.

As soon as the PCB is ready and tested I let you know grafik

Hello @bontango

I’ve applied the same schema like you. No ETH detection by the Armbian system (dmesg does not show anything) Distrib: Armbian 21.05.1 Focal with Linux 5.15.48-sunxi

For. today, my tip is studying BPI(s) schematics and isolate RJ45 reference and its wiring. I come back when I’ve news :slight_smile:

Regards, Bruno

that sounds more like your image does not support the H3 ethernet chip. Even with no wires connected, you should see ‘dwmac-sun8i’ messages with dmesg and a ‘ip a’ should show you an ‘eth0’ device.

I would try the image from my link above, just to verify

I’ve compare the BPI Zero M2 with BPI Zero P2 (near each other). The P2 model uses a network transformer like HD16K01S-A0. PCB signals name are similar.

Complete schema is here: 57

A similar schematic is available on texas instruments. 22

The component near the discribed wiring is here but no reference: https://electronics.stackexchange.com/questions/353361/center-tap-of-transformer-for-ethernet-interface

I’ve found a reference here: https://www.we-online.com/catalog/datasheet/7498011008.pdf (SMT) or https://www.we-online.com/catalog/datasheet/74990111217.pdf (THT mount)

So, I will order last reference to test it with BPI Zero M2.

We are near :slight_smile:

We are face out a problem just because the RJ45 reference is not written …

No in-build transformer in my connector, I have used a device similar to this one

as said, as you have no dmesg entries, I think you have a driver problem. Try command ‘ip a’ to list all network devices. No need to change wiring or connectors without a eth0 device, do you have this entry?


Hello @bontango

I didn’t see eth0 from ip -a command. What is the module’s name (lsmod) ? What did you change to see it? distrib ?


yes, armbian buster works for me https://armbian.hosthatch.com/archive/bananapim2zero/archive/Armbian_21.08.1_Bananapim2zero_buster_current_5.10.60.img.xz

Do you have the driver name (loaded as module)? All embeded modules are listed by “lsmod” command and can be an idea to looking for.

In advance, many thanks. Bruno

from the dmesg entry it should be “dwmac-sun8i”, however lsmod does not list it.

So I guess the kernel I’m using has the driver as a built in driver

with your kernel you can try a ‘modprobe dwmac-sun8i’ …

however I did that with my ‘other’ image with no success :neutral_face:

The more I’m reading on the internet looks like most images have the internal ethernet disabled by default.

Thank for details, And yes I saw that eth0 is disabled by default. Now, I try to enable it … 11

Did some tests tonight and looks like my assumption is right.

The M2 Zero board settings are applied at boot time according to “sun8i-h2-plus-bananapi-m2-zero.dtb”, so I replaced this file in the ‘non working image’ with the file from the ‘working image’ and after a boot eth0 is visible :grinning:

@bpoultier Can you try this with your image? I put the dtb file here for download: https://lisy.dev/swrep/BananaPI/sun8i-h2-plus-bananapi-m2-zero.dtb You find the original file usually in the “/boot/dtb” directory. Best to rename the original file and copy my dtb file afterwards. pls let me know if it works for you

As this is only a workaround we need to find a method enabling this with e.g. a config parameter in armbianEnv.txt. I may ask how to do this in the armbian forum

Many thanks for your reply. I’ll try it as soon as possible.

You are champion ! Ethernet port works well !

As we had read, eth0 is disable by default (because is not wired, I don’t know yet)

Anyway --> Many Thanks

Happy that I could be of help :grinning: At the moment I try to write an overlay to activate eth0, but as it is my first ov erlay this will take some time ( first version causes a ‘kernel panic’ :neutral_face: )

If you are inrterested in one of my PCB adapters let me know. I ordered a few in China and have some spare …

Thanks for your proposal. I use BPI ZERO M2 on a mainboard (to control power amplifier) and the Eth socket is on this mainboard (it will be connected via LTE modem)

However, you can promote it on armbian’s forum and here then I can forward on twitter to help you to sell your product.

To be complete on BPI ZERO M2 | ETH0 | ETHERNET 10 / 100

EasyEDA / Schema as gif RG45 Green Led: copy /sys/class/net/eth0/carrier value to an output (script or other language) RJ45 Yellow Led: wait change on /sys/class/net/eth0/statistics/tx_packets (or rx_packets) and blink yellow led


  • RJ2 socket from LCSC: DS1128-09-S8B8X

  • CN1from LCSC: A2005HWV-2x2P

Note that both can be assembled by JLCPCB


This solution works with “Armbian 21.05.1 Focal with Linux 5.15.48-sunxi” image AND @bontango’s dtb file.

I hope it will help someone.

Thanks for the offer but no need for promotion. After test I will make my gerber data public.

The dtb file mentioned here is from an image with a 5.10.60-sunxi kernel. However as I think it is not advisable to mixing Kernel versions I wrote an user overlay which can activate eth0 on newer kernels.

You can find the user overlay here: https://lisy.dev/swrep/BananaPI/m2-zero-eth0.dtbo

Thge source with installation instructions can be found here: https://lisy.dev/swrep/BananaPI/m2-zero-eth0.dts

This should be the correct method for activating eth0. In parallel I asked in the armbian forum for advice how to do best … https://forum.armbian.com/topic/23166-activation-of-eth0-on-banana-pi-m2-zero-how-to-do-best/

@bpoultier you may want to use this user overlay as your current installation will maybe automatically deleted with your next kernel update

1 Like

@bontango thanks for your work and details to install it. I will try as soon as possible in this week.

Can you send me the price of your design (private message) and I will promote it.

Regards :wink: