Both sides previous revisionPrevious revisionNext revision | Previous revision |
debian_uboot [2012/02/04 18:17] – [Tips] wifi tips paulf | debian_uboot [2016/10/24 15:59] (current) – [Installation and initial configuration story] fix s/set/setenv/ typo paulf |
---|
Here I'm documenting my progress on using my ac100-116 "the right way". Feel free to reach me on [[help#irc]], my nick is PaulFertser. | Here I'm documenting my progress on using my ac100-116 "the right way". Feel free to reach me on [[help#irc]], my nick is PaulFertser. |
| |
| **UPDATE 24 Oct 2016**: migrated the system to current upstream U-boot and Linux. Everything seems to be nice and reliable. The limitations section still applies. |
| Some notes on update: |
| * Needs the latest (from firmware git) ''rt2870.bin'' for stable wifi |
| * Missing ''nvec_event'' so lid open/close events are not generated |
| * To be able to use ''synaptics'' X.org driver the ''elantech'' protocol needs to be forced for ''psmouse'' kernel driver |
| * ''mpv'' works nicely for unaccelerated video playback, including streaming from Youtube and other popular hostings (''ytdl-format=18'' is usually needed) |
===== Status ===== | ===== Status ===== |
==== What works ==== | ==== What works ==== |
* Stereo sound both on internal speakers and the headphones | * Stereo sound both on internal speakers and the headphones |
* Webcam | * Webcam |
| * Integrated digital microphone |
| * External stereo headset with microphone |
| |
==== What doesn't ==== | ==== What doesn't ==== |
* Resume from suspend-to-ram (pending u-boot warmboot patches, see http://news.gmane.org/group/gmane.comp.boot-loaders.u-boot/thread=122760) | * Resume from suspend-to-ram (pending u-boot warmboot patches, see http://news.gmane.org/group/gmane.comp.boot-loaders.u-boot/thread=122760) |
* Suspend-to-disk/hibernation (not anytime soon, no upstream support for ARMs) | * Suspend-to-disk/hibernation (not anytime soon, no upstream support for ARMs) |
* Internal mic (pending stuw's and leonro's alsa updates, not functional yet) | * tegra_wdt watchdog resets the system but it doesn't boot after that for the reasons unknown |
* Proprietary drivers for X and OMX-accelerated sound/video decoding (never tried, see https://build.pub.meego.com/package/files?package=nvidia-tegra2&project=home%3Acxl000%3Atrimslice%3AMer%3Atesting , http://ppa.launchpad.net/ac100/ppa/ubuntu/pool/restricted/n/nvidia-graphics-drivers-tegra/ , mplayer-omx, gst-omx etc) | * Proprietary drivers for X and OMX-accelerated sound/video decoding (never tried, see https://build.pub.meego.com/package/files?package=nvidia-tegra2&project=home%3Acxl000%3Atrimslice%3AMer%3Atesting , http://ppa.launchpad.net/ac100/ppa/ubuntu/pool/restricted/n/nvidia-graphics-drivers-tegra/ , mplayer-omx, gst-omx etc) |
| |
I then used my laptop and an SD card, created a single ext2 partition there and unpacked the preinstalled ubuntu rootfs. Copied the ''uImage'' to root and the created modules to ''/lib/modules''. Erased unneeded boot scripts (including ''network-manager'') from ''/etc/init/''. Created there a file to start ''getty'' on ''ttyS0'', 115200 baud. Placed a suitable ''wpa_supplicant.conf'' somewhere on the card. Removed password from ''/etc/shadow'' to give me root login. | I then used my laptop and an SD card, created a single ext2 partition there and unpacked the preinstalled ubuntu rootfs. Copied the ''uImage'' to root and the created modules to ''/lib/modules''. Erased unneeded boot scripts (including ''network-manager'') from ''/etc/init/''. Created there a file to start ''getty'' on ''ttyS0'', 115200 baud. Placed a suitable ''wpa_supplicant.conf'' somewhere on the card. Removed password from ''/etc/shadow'' to give me root login. |
| |
I boot the u-boot.bin via putusb, then <code>mmc dev 1; ext2load mmc 1 0x408000 uImage; set bootargs "mem=509M@0M console=tty1 console=ttyS0,115200n8 root=/dev/mmcblk1p1"; bootm</code> | I boot the u-boot.bin via putusb, then <code>mmc dev 1; ext2load mmc 1 0x408000 uImage; setenv bootargs "mem=509M@0M console=tty1 console=ttyS0,115200n8 root=/dev/mmcblk1p1"; bootm</code> |
| |
Logged in, set password to 1, start ''wpa_supplicant -Dnl80211 -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &'', then ''dhclient eth0''. Installed ''openssh-server'' and switched to that (because the serial console sometimes stops to function). | Logged in, set password to 1, start ''wpa_supplicant -Dnl80211 -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &'', then ''dhclient eth0''. Installed ''openssh-server'' and switched to that (because the serial console sometimes stops to function). |
The resulting system should be bootable with | The resulting system should be bootable with |
<code> | <code> |
mmc dev 0; ext2load mmc 0 0x408000 uImage; ext2load mmc 0 0x1408000 initramfs; set bootargs "mem=509M@0M console=tty1 console=ttyS0,115200n8 root=/dev/mapper/emmc--lvm-rootfs zcache initrd=0x1408000,0x${filesize}"; bootm 0x408000 | mmc dev 0; ext2load mmc 0 0x408000 uImage; ext2load mmc 0 0x1408000 initramfs; setenv bootargs "mem=509M@0M console=tty1 console=ttyS0,115200n8 root=/dev/mapper/emmc--lvm-rootfs zcache initrd=0x1408000,0x${filesize}"; bootm 0x408000 |
</code> | </code> |
| |
<code> | <code> |
#define CONFIG_BOOTCOMMAND \ | #define CONFIG_BOOTCOMMAND \ |
"mmc dev 0; ext2load mmc 0 0x408000 uImage; ext2load mmc 0 0x1408000 initramfs; set bootargs \"mem=509M@0M console=tty1 console=ttyS0,115200n8 root=/dev/mapper/emmc--lvm-rootfs zcache initrd=0x1408000,0x${filesize}\"; bootm 0x408000" | "mmc dev 0; ext2load mmc 0 0x408000 uImage; ext2load mmc 0 0x1408000 initramfs; setenv bootargs \"mem=509M@0M console=tty1 console=ttyS0,115200n8 root=/dev/mapper/emmc--lvm-rootfs zcache initrd=0x1408000,0x${filesize}\"; bootm 0x408000" |
</code> | </code> |
to ''include/configs/paz00.h'' and recompiling u-boot. | to ''include/configs/paz00.h'' and recompiling u-boot. |
</code> | </code> |
| |
===== Tips ===== | And then be sure to read suckless [[tips_and_tricks]]. |
* To manage lid event i'm using https://github.com/gandro/input-event-daemon, it should listen on /dev/input/event4 for LID:0 and LID:1 events. | |
* I added this to ~/.mplayer/config | |
<code> | |
ao=alsa | |
mixer-channel=Master | |
vo=x11 | |
zoom=1 | |
sws=0 | |
hardframedrop=1 | |
lavdopts=fast=1:skiploopfilter=all | |
</code> | |
* For watching youtube i use | |
<code> | |
#!/bin/sh | |
cookies_file=`mktemp /tmp/youtube-cookies.XXXXXX` | |
rm $cookies_file | |
url="`youtube-dl --cookies=$cookies_file -g --max-quality 35 $1`" | |
mplayer -cookies -cookies-file $cookies_file -cache 2048 $url | |
rm $cookies_file | |
</code> | |
* [[http://linuxwireless.org/en/users/Download|compat-wireless]] provides newer wireless drivers that work better but wireless extensions will not be enabled until the kernel is compiled with support for some old pre-mac80211 driver (to select ''CONFIG_WIRELESS_EXT''). | |
* ''iw dev wlan0 set power_save off'' to improve interactivity when a power-saving compatible AP is used | |