====== 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 =====
[[https://gitorious.org/powertop-for-arm|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:'' 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 =====
* [[http://linuxwireless.org/en/users/Download|compat-wireless]] provides newer wireless drivers that work better but wireless extensions (only needed for some specific programs using this deprecated interface, e.g. [[http://www.aircrack-ng.org/|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