Jump to content

Pinebook install to eMMC?


James Kingdon

Recommended Posts

I got a mainline kernel up and running. It detects the mmc ok, but clearly fails to get it into hs200 or hs400, so I'm not going to get any clues from the new driver.

 

              kB  reclen    write  rewrite    read    reread    read     write
          102400       4    10712    11284    11803    11642     5615     8249
          102400      16    15740    16719    18346    18308    12720    15285
          102400     512    21920    22029    22545    22659    21987    21794
          102400    1024    22085    22075    22784    22810    22470    21942
          102400   16384    21628    22318    23012    23019    23007    21744

the /sys info suggests it's in 50MHz sdr mode:

root@pinebook:/sys/kernel/debug/mmc2# cat ios
clock:          52000000 Hz
actual clock:   50000000 Hz
vdd:            21 (3.3 ~ 3.4 V)
bus mode:       2 (push-pull)
chip select:    0 (don't care)
power mode:     2 (on)
bus width:      3 (8 bits)
timing spec:    1 (mmc high-speed)
signal voltage: 0 (3.30 V)
driver type:    0 (driver type B)

I contacted SanDisk to see if they would provide a datasheet or app note for the chip, but they politely declined. Such is life.

Link to comment
Share on other sites

I put a copy of the kernel image I'm using on filebin for one of the guys on irc: https://filebin.ca/3dBZ0qmNivMa/Image-3.10.107-pine64

 

Of course I forgot you'd also need a copy of the modified uboot, and it's been long enough since I've looked at uboot that I'll have to dig around to find where I left a copy. I'll update when I find it.

 

OK, here's the uboot to go with the above kernel: https://filebin.ca/3dBng1sFqg02/linux-u-boot-pinebook-a64_5.32_arm64.zip

 

The zip file contains the uboot binary and a very simple script to install it. Check the device in the script matches the device for the emmc on your machine before running it, which will need to be done as root/sudo.

 

I'll try and get these contributed as patches to armbian as soon as I can (sorry for the delay, work has been very busy recently)

Link to comment
Share on other sites

He's definitely making progress. I haven't checked the new release, but from what he said on irc I don't think it's working properly with the 64G sandisk on pinebook. Apparently it works great on the rock64. I've been looking at the code changes in the new release and one in particular has let me make a bit more progress - I can now successfully switch into hs200 mode, which is a necessary step to full speed.

 

The next thing is to run auto-tuning in hs200 mode, without it the host<->mmc communications don't work reliably at 200MHz. Unfortunately the normal code path is via function pointer that hasn't been set, so I have to do some searching to try and find where the routine is.

 

For giggles I tried running hs200 at 100MHz which seems to work fine. It's currently running in sdr mode and it has almost identical performance to 50MHz/ddr, which makes sense. Baby steps...

Link to comment
Share on other sites

Since 100MHz worked in hs200 mode, and porting the dynamic tuning code looks like a fair bit of work, I decided to try 150MHz and see what happens. Result is it seems to be stable (I'm typing on the pinebook in that mode now), and it gave a nice boost to the iozone results:

	Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
	Output is in kBytes/sec
	Time Resolution = 0.000001 seconds.
	Processor cache size set to 1024 kBytes.
	Processor cache line size set to 32 bytes.
	File stride size set to 17 * record size.
                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write  
          102400       4     6891     7237    11490    11482     6614     5651
          102400      16    19316    19884    49466    48654    25507    17839
          102400     512    67821    58035   126793   127178   114462    47874
          102400    1024    67095    57421   127057   127459   119481    46386
          102400   16384    68019    58935   125989   126261   126379    54282

I'm going to leave the pinebook with this as the default setup and see how it shakes out. In the meantime, I hope to make some progress on dynamic tuning and the long march towards hs400 :)

Maybe I'm too easily pleased, but 120+ MB/s read blows my mind for a $30 module (and the write speed isn't exactly bad either).

Link to comment
Share on other sites

On 16.10.2017 at 2:36 PM, James Kingdon said:

Ayufan has released a build with support for hs200 at 150 MHz, see

 

I still wonder how to proceed. His branch we're currently using on Pinebook has not been updated since 4 months, there's also outdated my-hacks-1.2-with-mmc3 and most recent my-hacks-1.2-with-drm. Has anyone here already tried switching branches in the build system?

 

Then I realized that we got the last 3.10 LTS update recently:

VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 108
EXTRAVERSION =
NAME = END-OF-LIFE

 

Link to comment
Share on other sites

25 minutes ago, tkaiser said:

I still wonder how to proceed.

I don't know either. AFAIK this (new SD/MMC driver) was still experimental/buggy/WIP the last time this was brought up, so I guess the best way to deal with this is ask ayufan which newer branches can be considered "stable" and which - "WIP/development".

 

25 minutes ago, tkaiser said:

Has anyone here already tried switching branches in the build system?

I didn't since I don't have MMC problems with the existing kernel and not sure how useful and stable legacy DRM implementation is, so for me it's "don't touch if it works"

Link to comment
Share on other sites

Hello!

 

I'm testing Armbian now on Pinebook from SD

 

I usually used the xenial - mate image with newly replaced emmc (64GB) with 0.7.19.

My problem is the graphical performance and that x2go remote sessions are glitched.

 

So, I'm now on Armbian and the problem is the same as with xenial-mate pre-0.7.19 - it can't see the internal

emmc.

 

Could Armbian use the new emmc? Not the factory 16GB.... I tried to remember, this is maybe 5.1 or what

version for what 0.7.19 was patched to work with?

 

I'd like to use Armbian from emmc finally, but now I'm even not able to reach my files on that as it is

not appearing under /dev/mmc.....    

 

Thanks for any help.

 

Robert

 

 

Link to comment
Share on other sites

2 hours ago, kuszi said:

I'd like to use Armbian from emmc finally, but now I'm even not able to reach my files on that as it is

not appearing under /dev/mmc.....    

Today I installed the nightly version of armbian stretch

https://dl.armbian.com/pinebook-a64/nightly/Armbian_5.59.180830_Pinebook-a64_Debian_stretch_dev_4.18.5_desktop.7z )
on my Pinebook.

 

After using it from MicroSD card it could be installed via armbian-config to eMMC
(but I did swap the original 16GB FORESEE to a 32GB SanDIsk - did buy the 32GB from Pine with my Pinebook)

 

Seems to work - but the Wifi has on every boot a new MAC-Adress, so nmtui (Network-Manager) has many configs for the WiFi :(

 

Link to comment
Share on other sites

1 hour ago, guidol said:


(but I did swap the original 16GB FORESEE to a 32GB SanDIsk - did buy the 32GB from Pine with my Pinebook)

 

Seems to work - but the Wifi has on every boot a new MAC-Adress, so nmtui (Network-Manager) has many configs for the WiFi :(

 

 

Hello!

 

Thanks for the note. It seems to be the same scenario...

I'm still playing around with this Bionic and then I'll give a try to Debian stretch...

 

I'll post here in case of success with Bionic or Deb-Stretch. Thanks and I'm still open for ideas for this armbian version recommended on Pinebook's own site...

 

 

kuszi@pinebook:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
kuszi@pinebook:~$ cat /etc/armbian-release
# PLEASE DO NOT EDIT THIS FILE
BOARD=pinebook-a64
BOARD_NAME="Pinebook A64"
BOARDFAMILY=sun50iw1
VERSION=5.56
LINUXFAMILY=pine64
BRANCH=default
ARCH=arm64
IMAGE_TYPE=stable
BOARD_TYPE=conf
INITRD_ARCH=arm
KERNEL_IMAGE_TYPE=Image

 

 

 

 

Link to comment
Share on other sites

6 hours ago, guidol said:

Today I installed the nightly version of armbian stretch

 

Guidol, I also installed the Stretch desktop nightly.... it sees the eMMC, great... but what about backlight?

 

Does it work for you? How to set?   sys......... backlight folder is empty....

 

 

thanks

Robert

 

Link to comment
Share on other sites

2 hours ago, kuszi said:

 

Guidol, I also installed the Stretch desktop nightly.... it sees the eMMC, great... but what about backlight?

Does it work for you? How to set?   sys......... backlight folder is empty....

I did use only the the default-brightness-level - didnt checked that more...

Link to comment
Share on other sites

4 minutes ago, guidol said:

I did use only the the default-brightness-level - didnt checked that more...

Mine started somehow too dark but I was not able to set it higher. I'll continue with playing around.

 

Thanks

R

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines