Dell Mini 9 report -- tetonca10 January 2009 - Northeast USA
INCLUDES: complete xorg.conf listing.
Brightness in other environmentsFn keys work in latest Puppy Linux, on the X11 desktop.
xrandr reports the internal (1024x600) Mini 9 display
as type 'LVDS'.
Check or set LVDS brightness (in Puppy; Debian Lenny).
# cat /proc/acpi/video/GFX0/LCD/brightness
levels: 25 30 35 ... 90 95 100
current: 40
# echo 25 > /proc/acpi/video/GFX0/LCD/brightness
(it changes)
This /proc/acpi/video path is unavailable in stock Tiny Core.
Brightness in Grub 2.0:
Fn keys work.
Brightness in Debian Lenny:
Same as in Puppy (at CLI looking at /proc tree; or use Fn keys
in the Linux Virtual Console -- X11 brightness untested in
Lenny, for this survey).
Mute speaker in Tiny Core Linux 2.7Ossmix is the default command-line interface for sound, in TC.
$ ossmix jack.int-speaker.mute ON
(Use the GUI 'ossxmix' not the CLI 'ossmix' to get a sense of the
CLI; when one changes the other is updated.)
Headphone JackWorks as expected.
Synaptics touchpadWorks as expected; have not looked into turning it off when
using an external USB mouse.
USB flash drivesDell Mini 9 boots Tiny Core from a USB stick just fine. The in-
structions in the Grub extension work well; be sure to use
the --device-map switch:
# grub --device-map /tmp/devmap
Copy Grub to the boot directory:
$ sudo su
# fsck.extM /dev/sdX1
# mount /mnt/sdX1
# cd /mnt/sdX1/boot/grub
# cp -p /usr/lib/grub/i386-pc/* .
# cd
# sync ; sync
# umount /mnt/sdX1
Anything seen in capital letters is a replaceable (single-
character) parameter.
So: fsck.extM becomes fsck.ext3 or fsck.ext2.
Critical:
# echo "(hd0) /dev/sdX" > /tmp/devmap
# exit
Install:
$ sudo su
# grub --device-map /tmp/devmap
> root (hd0,Y)
> setup (hd0)
> quit
> exit
Those instructions are in Appbrowser window. Nice job!
You must include menu.lst in the same
directory ... in /mnt/sdX1/boot/grub ... for this
to succeed. See elsewhere on this site, or the
Wiki, for example menu.lst files.I only boot from USB now; the SSD I mount as required (gen-
erally only for short-term storage between backups). Entire
system runs from RAM, to save life of SSD and USB stick flash
media. If the system is stolen, I only lose the hardware; they
get Grub, and a barren TC base install; the real TC is on USB
stick in my pocket.
To power off, I hold down the power button for 10 sec-
onds (after verifying in the shell that no write-enabled mass
storage is mounted).
I generally backup by plan, not by shutdown ritual.
Grub 2.0 was installed to the SSD with Debian Lenny;
works fine on this hardware. I use Grub 0.97 on USB sticks.
USB mouseWorks great. Xorg.conf has a section that deals with
the mouse.
$ cat /etc/X11/xorg.conf | egrep Opt | egrep "Im|mi|Bu"
Option "Protocol" "ImPS/2"
Option "Device" "/dev/input/mice"
Option "Buttons" "5"
The options helped wake up the third mouse button, instead of
chording the other two for a paste operation.
Dvorak Keyboard support# /sbin/loadkmap < /opt/private/dvorak-mine.kmap
I brought my kmap over from an earlier tc system (see below). You
must be root (or use
sudo) for
loadkmap to succeed.
See the
BusyBox Command Help page (
busybox.net)
for terse details in the use of loadkmap.
This works great on the Console, and may also propagate to X11. To
be sure,
xmodmap should also be invoked in ~/.xsession.
$ cat /home/tc/.xsession | grep vo
/usr/bin/xmodmap /home/tc/dvorak.xmodmap
which is also homebrew. The combination provides Dvorak
support wherever there is a place to type.
I modded the Dell Mini 9 keycaps to be arranged similar to
Dvorak. Several compromises were made to do so. I have
an external USB keyboard (a cheap $15 Logitech, from an
office supply retail chain) set up as Dvorak with only 4 keys
in the wrong spot (F and J could not be swapped to other
locations).
VGA portXorg: supports simultaneous displays either sharing the
display space or adjacent spaces. Fn 8 toggles ext. display
on and off, both at Grub 2.0 and at TinyCore logo boot
screen (vga=789 framebuffer mode).
Linux Virtual Console supported on external VGA.
lxrandr controls Xorg's use of LVDS (internal) and
VGA (external) quite well.
xrandr (CLI program that comes with the Xorg extension)
works nicely.
$ xrandr --output VGA --mode 1024x768
$ xrandr --output LVDS --mode 1024x600
$ xrandr --output LVDS --pos 0x300 (offsets display 300px vert.)
$ xrandr --output LVDS --pos 0x0 (mirror)
Can't get beyond
--pos 0x425 or so without artifacts (should
go all the way to --pos 0x600).
Use Virtual 2048 1368 (xorg.conf) with an external 1024x768
display.
It's additive (1024x600 + 1024x768 == 2048x1368).
915resolution is *not* needed with Xorg (only needed
with Xvesa on Dell Mini 9, Tiny Core 2.7).
Video blanking timeout$ xset s 900 (900 second timeout)
This seems to reset itself on a whim, so I loop it in a script:
#!/bin/sh
for i in 1 1 1 1 1 \
1 1 1 1 1 1 1 1 \
1 1 1
do
xset s 900
sleep 912
done
(change the loop to get it to run a very long time).
Sleep 912 makes sure that the display can go blank, at all.
Make it 'sleep 840' or somesuch to keep it from blanking.
This is just an ugly hack and needs work.
Wireless SupportWPA2# wpa_supplicant \
-BWdddd \
-D wext \
-i eth1 \
-c /etc/wpa_supplicant.conf
That's called after a
modprobe of '
wl' (if needed; not required
as far as I can tell).
# wpa_cli \
-a /path/to/any/shell/script-of-mine.sh \
>/dev/null 2>&1 &
# wpa_cli status
Place the two 'wpa_cli' commands in bootlocal.sh -- this will
prod the wireless to connect to the router, using WPA2 (it
won't, otherwise).
Do this after calling wpa_supplicant.
# cat script-of-mine.sh
#!/bin/sh
# does absolutely nothing of use; dummy script for wpa_cli
echo
exit 0
Every
WPA2 user wants a configured
wpa_supplicant.conf.
# cat /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
network={
ssid="corytine"
scan_ssid=0
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
#psk="some-funky-wpa-seekrit-passphrase-enlightenment-40327"
psk=700521cc0bea96fef88872e7757e7c3afb46a1b7ace09a7422b13e9439c9ab1f
}
Seems to default to CCMP when forced in the wireless
router; this is AES-128, IIRC, and is most desirable for
encryption.
# wpa_cli
Selected interface 'eth1'
Interactive mode
> status
bssid=00:24:b2:0a:bc:23
ssid=corytine
id=0
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=192.168.1.38
> quit
The above says it is in CCMP rather than the inferior TKIP
mode -- a better encryption standard.Generate the business in the above wpa_supplicant.conf.
$ wpa_passphrase corytine
# reading passphrase from stdin
some-funky-wpa-seekrit-passphrase-enlightenment-40327
network={
ssid="corytine"
#psk="some-funky-wpa-seekrit-passphrase-enlightenment-40327"
psk=700521cc0bea96fef88872e7757e7c3afb46a1b7ace09a7422b13e9439c9ab1f
}
WPA must be setup fully, prior to getting a DHCP lease from
the router.
DHCP# udhcpc -b -i eth1 # wifi
cpanel defaults to eth0.Open Access Point Wifi (no WPA2)# iwconfig eth1 essid "chauncey"
# udhcpc -b -i eth1 # wifi
BatteryTurn AC CHARGING on and off.
# /usr/bin/aircraft-manager-util AC_CHARGING off (or on).
Turning AC_CHARGING off
(Needs Aircraft Manager from Ubuntu 8.x, as distributed by
Dell/Canonical -- or somesuch named utility. Runs fine in
Tinycore if you ignore the GUI, and run the Python control
script -- see above -- at CLI.)
XorgXorg.conf (complete and
verified).
See attached file.Attachmentsuuencoded dvorak.kmap as file attach, as well as the
binary. xorg.conf is the third file attach.
md5sum.
$ md5sum *
a6a9dbd8e1dfe2ad799640d8cbdf5ba6 dvorak-kmap.txt
60c284c353ebd602e782fcac08056025 dvorak.kmap
97d2404eb48f188364a40354b0de21c9 xorg.conf