Gigabit ethernet stucks

I have tried different images, including raspian jesse and Ubuntu 16.04 mate. 100 Mbit works fine, but gigabit stucks and pings start at 80% packet loss. The main reason I bought M64 it was the gigabit ethernet, but now I have those horrible connections. Has anyone found a solution that might solve the Gigabit ethernet Problem?

To fix the GbE issue you just need the correct wlan configuration for this board in your DTB. If you are in a hurry you can get the correct configuration from this:

Read for some benchmarks. Eventually i will push the complete linux DTB to work with GbE, Wifi/BT to github.

1 Like

Thanks for the information. Is it possible to give me a compiled kernel?

No need for a new kernel if you want GbE working.

You can try this DTB with correct settings for the BPI-M64: Be aware there is two issues with the GbE RTL around, one can be fixed with a patch and the other cannot (falty RTL chip).

If you find wrong instructions, please let me know.

I am still working on getting the board to boot from eMMC. Hope you find it useful.

1 Like

aaahhhh ok. I have followed the instructions you linked here:

but it fails to boot. also after several tries

The complete output I get from the console is

HELLO! BOOT0 is starting! boot0 commit : 045061a8bb2580cb3fa02e301f52a015040c158f

boot0 version : 4.0.0 set pll start set pll end rtc[0] value = 0x00000000 rtc[1] value = 0x00000000 rtc[2] value = 0x00000000 rtc[3] value = 0x00000000 rtc[4] value = 0x00000000 rtc[5] value = 0x00000000 DRAM driver version: V1.1 rsb_send_initseq: rsb clk 400Khz -> 3Mhz PMU: AXP81X ddr voltage = 1500 mv DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3) DRAM clk = 672 MHz DRAM zq value: 003b3bbb DRAM single rank full DQ OK DRAM size = 2048 MB DRAM init ok dram size =2048 card boot number = 0, boot0 copy = 0 card no is 0 sdcard 0 line count 4 [mmc]: mmc driver ver 2015-05-08 20:06 [mmc]: sdc0 spd mode error, 2 [mmc]: Wrong media type 0x00000000 [mmc]: Try SD card 0 [mmc]: HSSDR52/SDR25 4 bit [mmc]: 50000000 Hz [mmc]: 30436 MB [mmc]: SD/MMC 0 init OK!!! sdcard 0 init ok The size of uboot is 000ec000. sum=e9f49cdd src_sum=e9f49cdd Succeed in loading uboot from sdmmc flash. boot0: start load other image boot0: Loading BL3-1 Loading file 0 at address 0x40000000,size 0x00008400 success boot0: Loading scp Loading file 2 at address 0x00040000,size 0x00019c00 success set arisc reset to de-assert state Ready to disable icache. Jump to secend Boot.

U-Boot 2014.07-4-pine64-00002-ga47674e (Jul 01 2016 - 21:49:10) Allwinner Techno logy

uboot commit : a47674ee9fb026349768eba6be8af9e0640c8a6c

rsb: secure monitor exist [ 0.351]pmbus: ready [ 0.354][ARISC] :arisc initialize [ 0.685][ARISC] :arisc_dvfs_cfg_vf_table: support only one vf_table [ 0.801][ARISC] :sunxi-arisc driver startup succeeded [ 0.834]PMU: AXP81X [ 0.836]PMU: AXP81X found bat_vol=232, ratio=100 [ 0.843]PMU: dcdc2 1100 [ 0.846]PMU: cpux 1008 Mhz,AXI=336 Mhz PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz AHB2=300Mhz MBus=400Mhz device_type = 3253, onoff=1 dcdc1_vol = 3300, onoff=1 dcdc2_vol = 1100, onoff=1 dcdc6_vol = 1100, onoff=1 aldo1_vol = 2800, onoff=0 aldo2_vol = 1800, onoff=1 aldo3_vol = 3000, onoff=1 dldo1_vol = 3300, onoff=0 dldo2_vol = 3300, onoff=0 dldo3_vol = 2800, onoff=0 dldo4_vol = 3300, onoff=1 eldo1_vol = 1800, onoff=1 eldo2_vol = 1800, onoff=0 eldo3_vol = 1800, onoff=0 fldo1_vol = 1200, onoff=0 fldo2_vol = 1100, onoff=1 gpio0_vol = 3100, onoff=0 vbus not exist no battery, limit to dc run key detect no key found no uart input DRAM: 2 GiB fdt addr: 0xb6ebc0e0 Relocation Offset is: 75f0e000 In: serial Out: serial Err: serial gic: sec monitor mode [ 1.655]start drv_disp_init init_clocks: finish init_clocks. enable power vcc-hdmi-33, ret=0 drv_disp_init finish boot_disp.output_disp=0 boot_disp.output_type=3 boot_disp.output_mode=10 fetch script data boot_disp.auto_hpd fail disp0 device type(4) enable attched ok, mgr0<–>device1, type=4, mode=10 plugin [ 2.401]end workmode = 0,storage type = 1 [ 2.405]MMC: 0 [mmc]: mmc driver ver 2015-06-03 13:50:00 SUNXI SD/MMC: 0 [mmc]: start mmc_calibrate_delay_unit, don’t access device… [mmc]: delay chain cal done, sample: 192(ps) [mmc]: media type 0x0 [mmc]: Wrong media type 0x0 [mmc]: Try SD card 0 [mmc]: host caps: 0x27 [mmc]: MID 03 PSN 6da6413e [mmc]: PNM SL32G – 0x53-4c-33-32-47 [mmc]: PRV 8.0 [mmc]: MDT m-12 y-2016 [mmc]: speed mode : HSSDR52/SDR25 [mmc]: clock : 50000000 Hz [mmc]: bus_width : 4 bit [mmc]: user capacity : 30436 MB [mmc]: SD/MMC 0 init OK!!! [mmc]: erase_grp_size : 0x1WrBlk*0x200=0x200 Byte [mmc]: secure_feature : 0x0 [mmc]: secure_removal_type : 0x0 [ 2.606]sunxi flash init ok [mmc]: Has init [ 2.643]—drivers/mmc/mmc.c 2733 mmc_init reading uboot.env

** Unable to read “uboot.env” from mmc0:1 ** Using default environment

--------fastboot partitions-------- mbr not exist base bootcmd=run mmcbootcmd bootcmd set setargs_mmc key 0 recovery key high 12, low 10 fastboot key high 6, low 4 no misc partition is found to be run cmd=run mmcbootcmd update dtb dram start update dtb dram end serial is: 041050344410241e038e get Pine64 model from DRAM size DRAM >512M Pine64 model: pine64-plus no battery exist sunxi_bmp_logo_display ** Bad device size - sunxi_flash 0 ** sunxi bmp info error : unable to open logo file bootlogo.bmp [ 2.859]inter uboot shell Hit any key to stop autoboot: 0 [mmc]: Has init [ 5.971]—drivers/mmc/mmc.c 2733 mmc_init reading uEnv.txt [mmc]: blkcnt should not be 0 26 bytes read in 7 ms (2.9 KiB/s) Loading boot environment … [mmc]: Has init [ 5.995]—drivers/mmc/mmc.c 2733 mmc_init reading boot.scr 835 bytes read in 5 ms (163.1 KiB/s) Booting with script …

Executing script at 41000000

[mmc]: Has init [ 6.031]—drivers/mmc/mmc.c 2733 mmc_init reading bananapi/bpi-m64/linux/pine64-plus.dtb 72856 bytes read in 14 ms (5 MiB/s) [mmc]: Has init [ 6.096]—drivers/mmc/mmc.c 2733 mmc_init reading bananapi/bpi-m64/linux/Image 11111672 bytes read in 548 ms (19.3 MiB/s) [mmc]: Has init [ 6.658]—drivers/mmc/mmc.c 2733 mmc_init reading bananapi/bpi-m64/linux/initrd.img 3526744 bytes read in 183 ms (18.4 MiB/s) Image lacks image_size field, assuming 16MiB

Flattened Device Tree blob at 45000000

Booting using the fdt blob at 0x45000000 reserving fdt memory region: addr=41010000 size=10000 reserving fdt memory region: addr=41020000 size=800 reserving fdt memory region: addr=40100000 size=4000 reserving fdt memory region: addr=40104000 size=1000 reserving fdt memory region: addr=40105000 size=1000 reserving fdt memory region: addr=45000000 size=12000 Loading Ramdisk to b6b57000, end b6eb4058 … OK Loading Device Tree to 44fea000, end 44ffefff … OK

Starting kernel …

[mmc]: MMC Device 2 not found [mmc]: mmc 2 not find, so not exit Loading, please wait… starting version 229 Begin: Loading essential drivers … done. Begin: Running /scripts/init-premount … done. Begin: Mounting root file system … Begin: Running /scripts/local-top … done. Begin: Running /scripts/local-premount … Scanning for Btrfs filesystems done. Begin: Waiting for root file system … Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. Begin: Running /scripts/local-block … done. done. Gave up waiting for root device. Common problems:

  • Boot args (cat /proc/cmdline)
    • Check rootdelay= (did the system wait long enough?)
    • Check root= (did the system wait for the right device?)
  • Missing modules (cat /proc/modules; ls /dev) ALERT! /dev/mmcblk0p2 does not exist. Dropping to a shell! Rebooting automatically due to panic= boot argument [ 61.100412] Restarting system.

It seems it does’t find the SD card?!

with current BROM SD CARD is on /dev/mmcblk1p2 when eMMC enabled , unfortunately without the help of new u-boot you will have to disable eMMC for now. If you can decompile DTB, disable sdc2 (eMMC) e compile again, please do so, otherwise i will push this new DTB to test.

If there are enough interest i will push an image on github (if there will be no space constraint), i am finishing the BT thing.

1 Like

It is there, please try again with this one:

And see if it works.

1 Like

Hi avaf, I actually had exactely the same isssue. I just tested your new DTB and… WOW, now I have GB LAN. Do stiil see a chance to get the eMMC working with it too? Or do I have to decide between eMMC and GB LAN? If yes, what can I do to switch?

As of today I could not use eMMC nor GB LAN and additionally I have problems with the HDMI to DVi adapter. I was/am about to return this board. I could not find any OS image that supports all of this.

Many thanks so far for your good job!! Greetings from Frankfurt, Germany

Hi Falke17,

Yes i have eMMC (as a storage and booting from it), GbE and Wifi working, you can read about it here:

GbE was optimized just to get best value out of it, those are the maximum values i could get, don’t expect better than this unless you are experienced with tuning and can use some compiler optimization (aka gcc6).

eMMC is just as that. HDMI to DVI is a problem found on many other boards and some kernel, so avoid using DVI if you can.

I will try to provide an OS image if it helps while Armbian not ready for the board. I am now struggling to configure BT due to some patch needed, maybe someone with BT experience can help to accomplish this.

1 Like


I have now eMMC, GbE, Wifi and BT fully working. I will try to assembly a OS Image but be prepared it will be in a non orthodox way of flashing it to the board.


avaf you are the hero for this board, I almost give it up,

Thanks for all, i also tested your new DTB and GbE works perfekt :+1: i’ll wait for your new image, eMMC and GbE are both necessary for me. Great job!

Try this and see if it works:

anyone can test this image: