====== 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