Table of Contents
Tips and tricks
Gordan's blog
Plenty of inspirational tricks including screen upgrade, overclocking, installing additional internal storage and more can be found at http://www.altechnative.net/tag/ac100/.
Optimising power consumption
PowerTOP for ARM might provide more relevant information than the version from the distribution's repositories.
Lid and jack insertion events
You can use a lightweight https://github.com/gandro/input-event-daemon, it should listen on /dev/input/event4
for LID:0
and LID:1
events.
Using side LEDs and WiFi LED
(This is for the 12.04 kernel) The LEDs on the side can be triggered by echoing values between 0 and 7 to
echo 7 > /sys/devices/platform/nvec.0/nvec-leds.0/leds/nvec-led/brightness
for different blinking-patterns (need to be root). Try
echo 0 > brightness ; sleep 1 ; echo 7 > brightness ; sleep .2;echo 1 > brightness
to 'allways-on' the side LEDs
You can also set different triggers for the WiFi LED. To see the available options do
cat /sys/devices/platform/nvec.0/leds-gpio/leds/wifi-led/trigger
then to change the trigger (temporarily) do for example
echo mmc0 > /sys/devices/platform/nvec.0/leds-gpio/leds/wifi-led/trigger
to get eMMC activity.
Video playback
To get maximum of the unaccelerated framebuffer driver you can use mplayer2
(it uses libraries with SMP support) and this ~/.mplayer/config
ao=alsa mixer-channel=Master vo=x11 zoom=1 sws=0 hardframedrop=1 lavdopts=fast=1:skiploopfilter=all
Watching Youtube
#!/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
Software sound mixing
To be able to hear simultaneous playback from different programs
copy this to /usr/share/alsa/cards/tegra-alc5632.conf
:
# default with dmix/dsnoop tegra-alc5632.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:CARD=" $CARD ",RATE=44100" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:CARD=" $CARD ",RATE=44100" ] } } }
Dedicated volume controls without PulseAudio
Add this to ~/.asoundrc
:
pcm.softvol { @args [ NAME ] @args.NAME.type string type softvol slave.pcm "default" control.name $NAME }
And use softvol:<custom name>
for the ALSA device, like this: aplay -Dsoftvol:“Aplay Dedicated” testmusic.wav
Handling bell events
You can use xkbevd
to play an arbitrary sound when an XkbBell event is generated. For URvxt
you need to tell it to use xkbbell
for bellCommand
. A better solution would be to extend input-events-daemon
to create a virtual input device capable of receiving a system bell, that way it'd work equally well for all programs even without X.
Wireless performance
- compat-wireless provides newer wireless drivers that work better but wireless extensions (only needed for some specific programs using this deprecated interface, e.g. aircrack-ng) 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
Wireless connectivity without NetworkManager
Place this in /etc/network/interfaces
(on a Debian-like system) to have automatic wifi roaming controllable with wpa_cli and support for the GSM/UMTS modem:
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet manual wpa-driver nl80211 wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp iface home inet dhcp iface wwan0 inet dhcp pre-up stty -F /dev/ttyACM1 1:0:80001cb2:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 2> /dev/null || \ stty -F /dev/ttyACM1 1:0:80001cb2:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 pre-up chat -v TIMEOUT 30 "" \ AT OK \ AT+CGREG=1 OK \ AT+CFUN=1 "+CGREG: 1"-AT+CFUN=1-"+CGREG: 1" \ "" ABORT ERROR "" \ AT*ENAPDBG=1 OK \ 'AT+CGDCONT=1,"IP","internet.beeline.ru"' OK \ "AT*ENAP=1,1" "*ENAPDBG: 1,1"-"AT*ENAP=1,1"-"*ENAPDBG: 1,1" < /dev/ttyACM1 > /dev/ttyACM1 || \ ! chat -v "" AT*E2RESET < /dev/ttyACM1 > /dev/ttyACM1 post-down chat -v "" AT+CFUN=4 OK < /dev/ttyACM1 > /dev/ttyACM1
This assumes your card has PIN disabled, if it's not, you should be able to add AT+CPIN=“abcde”
command where appropriate. If you hot-swap the SIM card you might need to issue the AT*E2RESET
command manually (or do ifup wwan0
twice). The modem supports messaging via SMS and USSD requests, e.g. this works with Beeline to see the amount of money left:
#!/bin/sh /usr/sbin/chat -vs "" "AT+CUSD=1,\"*102#\",15" "OK" < /dev/ttyACM1 > /dev/ttyACM1