WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Dell Mini 9  (Read 35398 times)

Offline nick65go

  • Hero Member
  • *****
  • Posts: 839
Re: Dell Mini 9
« Reply #30 on: January 01, 2010, 11:58:56 AM »
@Robert:
I use wire eth0 only when wireless eth1 will not work. Now wireless works.
The keyword was RESTRICTED into iwconfig settings.
I am behind a personal router, wireless + 4 wire ports, config with my IP range allowed, connected to internet by PPPoE protocol. Laptops and workstation with static IP. Wireless protocol is WEP 64 bits, but I could choose WAP2 etc. I am just testing TC flexibility.

I will lookup to setup Fn keys (suspend, LCD brightness, rfkill wifi, sound volume). Please post your solutions ;). Instructions how to setkeycodes are welcome, then I will use acpid as in wiki.
For asla sound, cpu governors etc, I read wiki and *.tcz.info

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: Dell Mini 9
« Reply #31 on: January 01, 2010, 12:13:34 PM »
I use OSS for sound. It has much lighter demands than alsa.
Try flit.tcz for battery & sound control. It will autostart when X starts, i.e., it's presence is tested in .xsession.

I have no need for suspend or hibernate as TC boots and shutdownn is quick enough for me.

But please contribute whatever you wish to add or improve for TC on the mini.

 
10+ Years Contributing to Linux Open Source Projects.

Offline nick65go

  • Hero Member
  • *****
  • Posts: 839
Re: Dell Mini 9
« Reply #32 on: January 02, 2010, 12:03:54 PM »
My Dell mini 910 is fast. But I try to learn and made it super-fast.
It has Bios A04, 1Gb RAM, 16 GB SSD, ubuntu 8.04 (will be erased as soon as TC will be full setup).

Partition alignment in Linux:
====================
# fdisk -H 224 -S 56 /dev/sdb (or fdisk -S 32 -H32)
http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/
http://www.ocztechnologyforum.com/forum/showpost.php?p=335049&postcount=134
"NAND [flash memory] fundamentally has native 4K block   sizes. Anything that's not aligned to a 4K block creates extra   challenges. For SSD's and HDD's that use a 4k internal sector size, being 4k aligned makes a big difference because it avoids read-modify-write cycles. We can achieve this easily if we simply use a CHS geometry of 56 sectors/track instead of 63 sectors."

Use AHCI module:
=============
http://www.pcper.com/article.php?aid=669&type=expert&pid=3
support NCQ (native command queuing) switching your BIOS settings to AHCI mode: While there are only small gains in large file throughput, there is a 2-3x improvement in small file access. The drive also ‘ramps up’ to full speed much faster, approaching 250MB/sec when performing random 8KB reads.

Mounting the file system:
==================
use "chattr -R +A /mnt" to set the noatime flag on all files and directories, the noatime flag is inherited by default.
http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/

Best filesystem for SSD=solid state drive?
===============================
Options to choose from:
1. Ext2 with noatime/nodiratime
2. XFS use external logging devices?
3. Ext4 (starting in 2.6.29), support operations with and without a journal. advantages: delayed allocation, using extents versus indirect blocks. A filesystem originally created as ext4 is more efficient than one that was originally    ext3 and then later converted to ext4.
   mke2fs -t ext4 -O ^has_journal -E stripe-width=128 /dev/sdax,
   tune2fs -t ext4 -O ^has_journal /dev/sdXX && e2fsck /dev/sdXX
(adding this kernel parameter to menu.lst: rootfstype=ext4)

Different io schedulers:
=================
1. Complete Fair Queueing Scheduler (CFQ)
2. Anticipatory IO Scheduler (AS)
3. Deadline Scheduler
4. No-op Scheduler
For improved flash performance you could try the noop elevator I/O scheduler setting:
#  echo noop > /sys/block/${DEV}/queue/scheduler
or by adding elevator=noop to your kernel boot parameters in the grub boot menu.

Move Firefox cache to RAM disk:
========================
Open Firefox. Type about:config in the search bar.
Right click on any row. Select New > String from the popup menu.
Add browser.cache.disk.parent_directory and press enter. Use about:cache to verify.
« Last Edit: January 02, 2010, 02:23:11 PM by nick65go »

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: Dell Mini 9
« Reply #33 on: January 02, 2010, 12:11:33 PM »
Those are good tips. I use the elevator=noop kernel boot option.

What is your BIOS version. I hear that brightness control under Linux requires BIOS update.
10+ Years Contributing to Linux Open Source Projects.

Offline nick65go

  • Hero Member
  • *****
  • Posts: 839
Re: Dell Mini 9
« Reply #34 on: January 02, 2010, 03:54:27 PM »
My BIOS version is A04. Login from Ubuntu 8.04 to list the files which coul help for Fn key:

files in /etc/acpi/
video_brightnessdown.sh
video_brightnessup.sh
voldownbtn.sh
volupbtn.sh

content of those files:
voldownbtn.sh
#!/bin/bash
. /usr/share/acpi-support/key-constants
acpi_fakekey $KEY_VOLUMEDOWN

volupbtn.sh
#!/bin/bash
. /usr/share/acpi-support/key-constants
acpi_fakekey $KEY_VOLUMEUP

video_brightnessdown.sh
#!/bin/bash
. /usr/share/acpi-support/key-constants
acpi_fakekey $KEY_BRIGHTNESSDOWN

video_brightnessup.sh
#!/bin/bash
. /usr/share/acpi-support/key-constants
acpi_fakekey $KEY_BRIGHTNESSUP

cat /usr/share/acpi/acpi-support/key-constants
# Generated from /usr/include/linux/input.h dated Sat Feb  4 14:58:52 GMT 2006
KEY_BRIGHTNESSDOWN=224
KEY_BRIGHTNESSUP=225
KEY_MUTE=113
KEY_VOLUMEDOWN=114
KEY_VOLUMEUP=115

====
files in /etc/acpi/events/

# /etc/acpi/events/ac
# Called when the user connects ac power to us
event=ac_adapter
action=/etc/acpi/power.sh

# /etc/acpi/events/battery
# Called when AC power goes away and we switch to battery
event=battery
action=/etc/acpi/power.sh

# /etc/acpi/events/lidbtn
# Called when the user closes or opens the lid
event=button[ /]lid
action=/etc/acpi/lid.sh

# /etc/acpi/events/video_brightnessdown
event=video.* 00000087
action=/etc/acpi/video_brightnessdown.sh

# /etc/acpi/events/video_brightnessup
event=video.* 00000086
action=/etc/acpi/video_brightnessup.sh

# /etc/acpi/events/videobtn
event=video.* 00000080
action=/etc/acpi/videobtn.sh

tell me what  path/commnads to do in ubuntu, then i will post the results here. Or attach the files..

Offline tetonca

  • Newbie
  • *
  • Posts: 11
Re: Dell Mini 9
« Reply #35 on: January 10, 2010, 07:28:43 AM »
Dell Mini 9 report  -- tetonca

10 January 2009 - Northeast USA


INCLUDES: complete xorg.conf listing.

Brightness in other environments

Fn 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).
Code: [Select]
# 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.7

Ossmix is the default command-line interface for sound, in TC.
Code: [Select]
$ 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 Jack

Works as expected.

Synaptics touchpad

Works as expected; have not looked into turning it off when
using an external USB mouse.

USB flash drives

Dell 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:
Code: [Select]
# grub --device-map /tmp/devmap

Copy Grub to the boot directory:
Code: [Select]
$ 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:
Code: [Select]
# echo "(hd0) /dev/sdX" > /tmp/devmap
# exit

Install:
Code: [Select]
$ 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 mouse
Works great.  Xorg.conf has a section that deals with
the mouse.
Code: [Select]
$ 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
Code: [Select]
# /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.
Code: [Select]
$ 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 port
Xorg: 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.
Code: [Select]
$ 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
Code: [Select]
$ xset s 900 (900 second timeout)
This seems to reset itself on a whim, so I loop it in a script:
Code: [Select]
#!/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 Support
WPA2
Code: [Select]
# 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).

Code: [Select]
# 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.

Code: [Select]
# 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.
Code: [Select]
# 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.

Code: [Select]
# 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.
Code: [Select]
$ 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
Code: [Select]
# udhcpc -b -i eth1 # wifi
cpanel defaults to eth0.

Open Access Point Wifi (no WPA2)
Code: [Select]
# iwconfig eth1 essid "chauncey"
# udhcpc -b -i eth1 # wifi


Battery
Turn AC CHARGING on and off.
Code: [Select]
# /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.)


Xorg
Xorg.conf (complete and verified).
See attached file.


Attachments
uuencoded dvorak.kmap as file attach, as well as the
binary.  xorg.conf is the third file attach.

md5sum.
Code: [Select]
$ md5sum *
a6a9dbd8e1dfe2ad799640d8cbdf5ba6  dvorak-kmap.txt
60c284c353ebd602e782fcac08056025  dvorak.kmap
97d2404eb48f188364a40354b0de21c9  xorg.conf
« Last Edit: January 11, 2010, 01:51:41 AM by tetonca »

Offline tetonca

  • Newbie
  • *
  • Posts: 11
Re: Dell Mini 9
« Reply #36 on: January 10, 2010, 12:39:04 PM »
I have been playing around with the brightness keys during
boot-up, and the brightness can sometimes be adjusted with
the keys, when viewing the grub menu.  It doesn't always work.

However, the brightness keys have no effect when TC is running.

Method A:
Install Grub 2.0, which is consistently responsive to the
Dell Mini 9 brightness hotkeys (Fn 9, Fn 0) here (ymmv).

This should be a clue how to do it without specific acpi
support; Linux hasn't booted yet.

Method B:
At the SSD password prompt, the brightness hotkeys
are also responsive.  The 8GB SSD from Dell accepts
a password; the 4GB SSD does not seem to (therefore no
prompt, so this may fail with a 4GB SSD installed).

As Grub hasn't booted yet, looks like the SSD password
prompt video environment is not harmed by subsequently
booting Grub 2.0; whereas booting Grub 0.97 does seem to
trash the state of the machine, to the extent that the
brightness keys are sometimes unresponsive.

In both instances, the display remains more dim (or bright)
througout the subsequent Linux session, than it would be
if the hotkeys were never used to change the brightness.
There's persistence here.

Method C:

If the goal is to preserve the electrical integrity of the LVDS
(internal display on the Mini 9) over the life of the unit, and
an external VGA display is customarily employed, xrandr can
shut off the LVDS.  You can toggle this as often as you wish.
Therefore this is the most dynamic method I can demonstrate,
with TC 2.7 running:
Code: [Select]
$ xrandr --output LVDS --off # turns off LVDS
$ xrandr --output LVDS --mode 1024x600  # turns on LVDS

Method D:

Close the lid.  This creates a thermal management issue,
but otherwise preserves the life of the LVDS and its
backlight.
« Last Edit: January 10, 2010, 11:46:53 PM by tetonca »

Offline jur

  • Hero Member
  • *****
  • Posts: 863
    • cycling photo essays
Re: Dell Mini 9
« Reply #37 on: January 11, 2010, 07:35:29 AM »
... xrandr can
shut off the LVDS.  You can toggle this as often as you wish.
Therefore this is the most dynamic method I can demonstrate,
with TC 2.7 running:
Code: [Select]
$ xrandr --output LVDS --off # turns off LVDS
$ xrandr --output LVDS --mode 1024x600  # turns on LVDS
Have you tried running extended period with '$ xrandr --output LVDS --off'? Because I tried using this but the VGA screen freezes after some minutes. I have to have LVDS on.

Offline tetonca

  • Newbie
  • *
  • Posts: 11
Re: Dell Mini 9
« Reply #38 on: January 11, 2010, 08:16:46 PM »
Have you tried running extended period with

$ xrandr --output LVDS --off    ?

Because I tried using this but the VGA screen freezes after
some minutes. I have to have LVDS on.

jur, I do not remember one way or the other, as I have not
shut down the LVDS habitually.

Today I ran for an hour using yet another Method .. I used
Fn 8 at the SSD password prompt, which shuts off the LVDS
and turns on VGA.

X11 was invoked and not much jumping back and forth into
the Linux VC.  Keyboard input was steady; X never idled to blank
video.  May've been Xvesa -- I run both at different times.

Session terminated under operator control.  No problems seen.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: Dell Mini 9
« Reply #39 on: January 13, 2010, 01:03:53 PM »
The X screensaver timer should only reset itself on X restart. There's likely something else touching it, like xscreensaver.
The only barriers that can stop you are the ones you create yourself.

Offline h-munster

  • Newbie
  • *
  • Posts: 49
Re: Dell Mini 9
« Reply #40 on: January 13, 2010, 09:51:55 PM »
The mention of xrandr reminded me of a peculiarity that I encountered with the stock Ubuntu on my Mini 9.

When I ran Ubuntu with a WM other than Gnome, I was unable to adjust the brightness with the keyboard.  However, I could still adjust the brightness with xbacklight, which uses xrandr.

So, if xrandr works on TC with xvesa, perhaps xbacklight is worth a try.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: Dell Mini 9
« Reply #41 on: January 14, 2010, 06:11:56 AM »
The backlight adjustment via xrandr requires randr 1.2 from the server. Xvesa only implements 1.1.
The only barriers that can stop you are the ones you create yourself.

Offline nick65go

  • Hero Member
  • *****
  • Posts: 839
Re: Dell Mini 9
« Reply #42 on: April 10, 2010, 03:47:47 PM »
Hi,

I would like just to know what you think about this ubuntu_remix like version for netbook OS: http://www.jolicloud.com/product/compatibility

I prefer the strong concept of TC modules, it will be for my Dell Inspiron 9400 laptop; but for my Dell mini 9 netbook, I wish to "borrow" few of their intel atom optimized kernel, drivers, applications (firefox optimizations) etc.

Ideal, with grub2 I could boot ISO images, one for TC to work offline, other for Jolicloud for online...
It would be excelent if a TC extension will be special design for "Intel Atom 2xx CPU"

PS: http://www.mydellmini.com/forum/other-distributions/731-optimal-cflags-intel-atom-processors.html

Best regards, Nicolae
« Last Edit: April 11, 2010, 04:34:24 AM by nick65go »

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: Dell Mini 9
« Reply #43 on: July 09, 2010, 12:32:53 PM »
In the meantime, if anyone has a clue as to why the /sys/class/backlight directory doesn't appear, please chime in.

either of:
Code: [Select]
sudo modprobe generic_bl
or
Code: [Select]
sudo modprobe backlight

do create the dir, however it remains unpopulated  :-\

(on a LG X 110 with 945GM chipset)
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline h-munster

  • Newbie
  • *
  • Posts: 49
Re: Dell Mini 9
« Reply #44 on: July 26, 2010, 11:37:02 PM »
TC 3.0 now allows one to adjust the screen brightness on the Mini 9!

However, I am encountering new problems.  Suddenly, I can't get the wireless to function.  I see that some Broadcom modules are loading, but they don't seem to work.  I removed them and loaded the wl module, but that didn.t work, either.

Also, it took awhile for the proper screen resolution to appear.  It behaved very strangely.  I had 915resolution loading on boot, but I was getting the wrong resolution several times before the proper resolution finally kicked-in.

I would welcome any suggestions on how to fix the wireless, and I am curious if anyone knows what's happening with the screen resolution.

Thanks!