BPI-M3 Annoing to Fun


(The Gunzmo) #1

Yo, So im quite pleased now. Just have to say that I got 30MB r/w on my SSD, And I can still use other USB gadets like wifi because the onboard wifi sux (no monitor mode) but thats not a problem BT workes well.

And im running 1007 Mhz on the cpu without trottle and no heatsink around 70c on full load so i got jackpot on the silicone lottery :smiley:

The best thing about these boards is that it has a builtin battery managment chip so if i make it portable some day it would be easy ive been experamenting with battery power aswell. The only drawback i found was that i can only use the Touch, wifi and SSD when im around 46% and above. The wifi and SSD turnes off but not the touch for some reason. the MA on the usb devices total is 400ma. 100ma for the screen, 100ma for the SSD, and 200ma for wifi. so its even below the usb standard that is 500ma. the battery ive experemented with is 3.7v 10000mah.

I will publish on git if I manage to make the battery powering more stable :slight_smile: or its just my battery :stuck_out_tongue:


(baskwo) #2

Did you manage to get a distro with mainline u-boot and mainline kernel? I tried to build it but the RJ45 ethernet wasn’t working because it is not yet in the mainline kernel (what I remind of). I would really like to use my BananaPi as a Server with ArchLinux but the 2016 image is broken.


(The Gunzmo) #3

Yes, im running Ubuntu mate on it with self compiled kernel. havent tested Ethernet cable becasue wifi works without any problems.

change the toolchain to allwiners for kernel compilation and it will run without any problems

it need to be changed in make and .configure


(baskwo) #4

The 3.4 kernel or 4.x kernel?


(The Gunzmo) #5

3.4, the version from github. I just got zRam to work aswell :slight_smile:


(baskwo) #6

Do you think you could do a favor for me and create an ArchLinux with the latest source and your kernel? I must do something wrong because it doesn’t work for me


(The Gunzmo) #7

When i got time.

you must change in configurations from gnueabihf to gnueabi aswell. change to allwinners toolchain and its possible to compile there is two other patches that needs aswell ive posted the fixes on github issues. If you are on 32bit you need to change genchecksum to mkchecksum.c not the correct names not at pc atm.

My next task is to run x86 code so i can run allwinners toolchain on the pi will take around some hours to compile and get it working after x86 will run then if allwinner release the source of their Xorg server for BPI-M3 i could maybe run x86 with 3D accel. then i could play legacy games like AOE, Diablo II, as well as others legacy games :slight_smile: the only problem is that the Xorg with gpu activated is closed source and the input modules like xinput libinput doesn’t work with it or im missing something in the configs to make them work with allwinners xorg.

When I got time I can compile and upload a working image. If you got a touchscreen and its not working post the PID and VID I can add them to the kernel so the touch will work.

Cant get archlinux to run dont know what GGC version they used to compile it Exec format error because of wrong gcc version…


(The Gunzmo) #8

Proof of zRam working image around 1gb more ram :slight_smile: from 40c idle to 60c idle tho :confused: without a added cooler.


(baskwo) #9

Personnaly I followed sunxi tutorial to compile u-boot + kernel. But I was trying to build 4.x kernel and this is why I didn’t had ethernet but maybe I could try with 3.4kernel.


(The Gunzmo) #10

For archlinux i think the current Toolchain works the gnueabihf one. Because im getting Exec error on boot with gnueabi in Archlinux (magic header is wrong) havent tested gnueabihf for Archlinux.

FYI. To install the kernel don’t use DD images to burn the kernel. extract the bpi kernel tar to BPI-ROOT with tar -xvf and overwrite uImage in BPI-BOOT/linux/bpi-m3 if that path is correct(Where the uEnv and script.bin aswell as the original uimage is) Thats what im doing. If i write with DD it only corrupts the partitions on the SD card. All the files that you need shuld be in folder BPI-M3-bsp/SD after you have compiled the Kernel. The important files are located are the kernel tar doesn’t remmeber name but you will see what i meen when you enter SD folder after compilation and BPI-BOOT folder ignore the rest. dont use BPI-BOOT tar it extracts to a hidden folder named: . Havent read the Source about the uBoot so it might try to read from . folder first. but it never woked for me when I extracted the BPI-BOOT tar, I just copy over the uImage from BPI-BOOT folder and replace the old one. Link to the kernel im using: BPI-M3-bsp And if there something you want like Monitor mode for external wifi or USB drivers its easy to patch just use other kernels as reference if its not working like you want you can often get the info you need by typing dmesg or journalctl. in terminal depends on what issues youre getting. Driver issues dmesg, boot issues journalctl and google the error. To make it easyer I recommend some C knowlage and some common knowlage. DD is only usefull when burning the full image not parts of the kernel because if some file has a big size diffrence there is a chanse that you overwrite some blocks that breakes the OS. Like my uImage is now 7.4MB not 7.0MB so the 400 kb could overwrite some block that is should not and break the partition aswell as OS.