Summary of components and current status (note that this is all still in process; page will be updated regularly):
| Device | Type | Status | Updated | Comment |
| BIOS |
Insyde EFI |
OK |
06/20/04 |
Still no way to boot 'Arcade' via its button,
but fine otherwise |
| Power management |
ACPI |
OK |
02/02/04 |
No fan/thermal control, no suspend (hibernation
works OK, though.) |
| Synaptics touchpad |
SynPS/2 |
OK |
06/20/04 |
Works fine in X 4.3.0.1 using the 'synaptics'
driver |
| Graphics card | ATI Radeon Mobility 9200 (M9+) | OK |
06/20/04 |
Finally! The "ati" driver in XFree86 supports this card,
DRI/GLX included |
| Screen | WSXGA+ (1680x1050) | OK |
06/20/04 |
Does 1280x800 with above driver |
| Hard Disk | Toshiba MK6021GAS (60 GB) | OK |
06/20/04 |
Even faster than before |
| DVD/CDRW | Matshita DVD-RAM UJ-815A |
OK |
06/20/04 |
Works fine, read/write for both CDs and DVDs |
| On-board Ethernet | Realtek RTL8100L |
OK |
06/20/04 |
Good speed |
| Wireless Ethernet |
Intel PRO/Wireless LAN 2100 |
OK |
06/20/04 |
Works fine using Intel's ipw2100 driver |
| On-board Sound Card | Intel i810 | OK |
04/10/04 |
Everything except MIDI works (I use Timidity, so that's fine.) |
| On-board Modem | Intel 82801DB AC'97 (winmodem) |
Semi-OK |
02/23/04 |
Proprietary driver; requires reloading between uses |
| PCMCIA/Cardbus | ENE Technology Inc CB1410 |
OK |
02/15/04 |
One of the few things that worked fine without any tweaking |
| Infrared | SMC IrCC Fast Infrared (FIR) |
OK |
03/09/04 |
Tested with Palm Pilot; works fine |
| Firewire | TI TSB43AB21 IEEE-1394a-2000 |
Unknown |
01/30/04 |
Haven't looked at it yet - don't have any equipment for
testing! |
| USB | Intel 82801DB | OK |
01/30/04 |
Works out of the box, including USB2 support |
| Special keys | Acer custom hardware |
Not working |
06/20/04 |
Subwoofer/brightness keys work
fine; drivers available for other keys |
This laptop came with a stupidly rigid HD structure, making it generally useless for partitioning (except at the cost of losing several of its features.) Here's the OEM partition layout:
A notable item in all of this is the fact that Acer used EFI instead
of
BIOS for this machine - their implementation is called "Insyde" (as if
there
weren't enough mispelld brand names in this world, [sigh].) My lack of
familiarity
with this added another little unknown factor to the equation in which Terra
Incognita was already taking up most of the map... the only problem
it
has created so far, though, is a minor one having to do with the
"Arcade"
app. The cute trick to this bit is that you don't have to start Windows
to
do your multimedia chores: just push the "Arcade" button, and a few
seconds
later, voila - you have a DVD player, etc. (with Linux and
"mplayer"
doing all the work behind the scenes!) However, despite the fact that I
left
"Arcade" in the fourth partition, with exactly the same partition size
as previously, pushing the button while the machine is off now produces
a "Missing
Operating System" message. This is normally an indication of an
incorrect
pointer from the MBR to the OS boot loader, or a sign of a missing boot
loader...
however, with EFI doing some unspecified chunk of the process, I'm
somewhat
lost as to what to do to restore that functionality. I have, however,
mapped
it in my "/etc/lilo.conf" by copying the stanza from "Arcade"'s
"lilo.conf"
and modifying the mount paths - so I can still run it by selecting the
correct
target at the LILO prompt during the boot. I'd like to have it working
as
it did originally, but - no joy so far.
Update 02/13/04: I've contacted
Insyde
USA, who have been very cooperative so far (I'll admit it: I baited the
hook
by offering to write an article about them for the Linux Gazette. Yeah, yeah, I'm a
creature
of pure evil; what can I say? :) They're contacting their people in
Taiwan,
and there may yet be a possible resolution; stand by this channel for
the
latest news.
Update 06/20/04: Acer has not
gotten back to me on this. Add to it the fact that my hard drive died
and the AC adapter croaked, all in the first few months, and you can
judge the quality of this machine and Acer's support for yourself.
Linux ACPI still seems to be a Young Science: lots of progress being
made
daily, exciting stuff... and a pain for those of us who need to use it.
This
is not a complaint against the ACPI folks - the blessings of
heaven
upon their heads forever, and may they never skip a semi-colon! - but a
grumble
by a tired Linux techie. The 2.6.x kernel's APM is broken,
I'm sorry to report; firing up Knoppix
on
this machine, which uses the 2.4.x kernel (console mode only;
amazingly,
the "vesa" X server that comes with it works! - but only for a few
minutes, after which it locks the machine solid) allows me to use "apm
-s" (suspend)
and "apm -S" (standby). 2.6.0 does not; in fact, it won't even
read
the battery charge state under APM. ACPI gives me at least that much...
so,
that's what I'm using right now. Highly unsatisfying, to say the least;
a
laptop that won't sleep or suspend is lacking a large part of its
utility.
I've also taken a look at "swsusp"
- yet another brilliant but not-quite-ready idea from the Linux
community.
This gadget introduces a "hibernate" mode to Linux, where the machine
state
is saved to swap - and is restored on the next boot! In fact,
if you
have a laptop with a "normal" video card (e.g., one that's fully
supported
by a common X server), I can't recommend this highly enough: there are
many
people using it, and are happy as larks. However, the proprietary
"fglrx"
server from ATI knocks this machine out of the range of possibility. "L'shana
Haba'a Bi'rushalayim" ("Next year in Jerusalem"), as some of my
relatives would wish/say.
Update 02/02/04: Ugh. This is a
minor
screw-up on my part, and I think the note should go
here, but...
anyway. Something, "acpid" if I recall correctly, fails to
launch
with a message that contains the word "bogus" if the new "sys"
directory
does not exist. [sigh] This is what happens when you troubleshoot a
whole
hell of a lot of problems late at night and don't keep notes right at
the
time; suffice it to say that, with the 2.6.x kernels, you need
to
create "/sys" and mount it with "sysfs" as the system type, or Bad
Things
Will Happen. Relevant line from my "/etc/fstab":
# <fs> <mt_point> <type> <options> <dump> <pass>
none /sys sysfs auto 0 0
# hdparm -t /dev/hdaUpdate 06/20/04: For whatever reason - whether it's the new HD or better buffering in the kernel - the disk is now somewhat faster:
/dev/hda:
Timing buffered disk reads: 72 MB in 3.05 seconds = 23.63 MB/sec
/dev/hda:
Timing buffered disk reads: 80 MB in 3.06 seconds = 26.13 MB/sec
<*> Event interfaceNote that the comment for the last entry says "The gpm program is not yet able to interpret the data from this driver, so if you need to use the touchpad in the console, you have to say N for now." Not quite true - if you go to Dmitry Torokhov's page, you'll find GPM v 1.20 which works just fine. So far so good, right? Right. Actually, in the console, it works fairly smoothly, although I was unable to get the tap functions working. Now, - [insert deep theatrical sigh here] - let's talk about X...
<M> Event debugging
[*] Mice
<*> PS/2 mouse
[*] Synaptics TouchPad
device=/dev/psauxNow, just use the "/dev/gpmdata" device in your X config file (see next section), and you're good to go.
responsiveness=30
repeat_type=ms3
type=ps2
append=""
sample_rate=50
Initially, the Acer didn't want to know from this console stuff and
gave
me a choice of either a blank screen with "vga=0x317" and the like or
some
HUGE text mode with 80x25 being the "best" choice. Yechh. However,
after
a little kernel config tweaking, I came up with this:
[*] Support for frame buffer devicesI also happened to see someone on a Debian list mentioning that the "vga=" syntax is deprecated in the 2.6 kernels, and the new format is "(H)x(V)-(bpp)", so the "append" line in my "/etc/lilo.conf" now reads
<*> VESA VGA graphics support
Console display driver support --->
[*] Video mode selection support
<*> Framebuffer Console support
Logo configuration --->
[*] Bootup logo
[*] Standard 16-color Linux logo
[*] Standard 224-color Linux logo
append="quiet acpi=on video=vesafb:1024x768-16"I've left "vga=0x317" in there as well; it doesn't seem to hurt anything, and I may yet run into some odd boot scenario...
append="quiet acpi=on hdc=ide-scsi"and the framebuffer video is still fine.
Skipping "/usr/X11R6/lib/modules/extensions/libGLcore.a:m_debug_clip.o": No symbols foundThere doesn't seem to be anything harmful in it. The problem is in the lib itself; running "nm" on it shows that it indeed is missing symbols in those routines. [shrug]
Skipping "/usr/X11R6/lib/modules/extensions/libGLcore.a:m_debug_norm.o": No symbols found
Skipping "/usr/X11R6/lib/modules/extensions/libGLcore.a:m_debug_xform.o": No symbols found
Skipping "/usr/X11R6/lib/modules/extensions/libGLcore.a:m_debug_vertex.o": No symbols found
Section "dri"Here is the relevant kernel configuration:
# Allow access to OpenGL to all users
Mode 0666
EndSection
Section "Module"
# Make sure that all of these are present
Load "dbe" # Double buffer extension
Load "GLcore" # GL core
Load "glx" # GLX module
Load "dri" # Direct rendering module
EndSection
# This section enables the "synaptics" driver and sets its parameters
Section "InputDevice"
Driver "synaptics"
Identifier "Mouse1"
Option "Device" "/dev/gpmdata" # This comes from the GPM repeater
Option "Protocol" "auto-dev"
Option "LeftEdge" "1900"
Option "RightEdge" "5400"
Option "TopEdge" "1900"
Option "BottomEdge" "4000"
Option "FingerLow" "25" # I'll probably be changing this one...
Option "FingerHigh" "30" # ...and maybe this one too.
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.02"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
EndSection
# This is from the ATI "fglrx" configuration section
Section "Device"
Identifier "ATI Graphics Adapter"
Driver "fglrx"
# ### generic DRI settings ###
# === disable PnP Monitor ===
#Option "NoDDC"
# === disable/enable XAA/DRI ===
Option "no_accel" "no" # Enable acceleration
Option "no_dri" "no" # Enable DRI
# === misc DRI settings ===
Option "mtrr" "off" # disable DRI mtrr mapper, driver has its own code for mtrr
# NOTE: you'll want to turn off "MTRR" in the kernel - otherwise,
# there's a conflict (see /var/log/messages) between the two, at
# least on my system. It's not a fatal conflict, however.
# === Misc Options ===
Option "UseFastTLS" "2"
Option "BlockSignalsOnLock" "on"
Option "UseInternalAGPGART" "yes" # Some people have reported having to disable
# this and use the system AGP; in my case, "yes"
# works fine.
Option "ForceGenericCPU" "no"
BusID "PCI:1:0:0" # vendor=1002, device=5961 # This is the BusID for the ATI from "lspci"
Screen 0
EndSection
<M> /dev/agpgart (AGP Support)Note that I load none of the above modules; after much research, it turns out that ATI's documentation for this server specifically tells you to disable in-kernel DRM/DRI, or at least load them dynamically and after the "fglrx" module. I found that completely disabling them (i.e., not loading any of the modules) made no difference whatsoever, but left them compiled so I could test different possibilities.
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
<M> NVIDIA nForce/nForce2 chipset support
[ ] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
ben@Fenrir:/etc/X11$ glxinfo|grep directI've tried pretty much everything I can think of - reading the ATI docs, grepping the Web, looking for any related issues, waving a chicken over my head while chanting the Acer manual backwards in Sanskrit... "direct rendering" remains at "no". According to all that I see in the docs, this Should Not Be - and indeed, my favorite Linux program, the FGFS flight simulator, now sucks large rocks through a bendy straw when it comes to speed - e.g., a rudder correction takes about 5-7 seconds to actually happen. I submit that this is not the way to fly an airplane (not if you want to live, that is. I mean, Orville and Wilbur's controls worked better than that!) "fgl_glxgears" refuses to even talk to me:
direct rendering: No
ben@Fenrir:/etc/X11$ fgl_glxgearsI've removed all GL-relevant libs from "/usr/X11R6/lib/modules/extensions" as the ATI docs recommend, and have re-run "ldconfig". I've gone so far as to uninstall all the GL-relevant libs I could (a lot of the KDE programs depend on "xlibmesa3-gl" and "xlibmesa3-glu", so those are still here. I can only hope that it's not what's causing the problem.) Interestingly enough, "glxgears" works fine:
Error: couldn't get fbconfig
ben@Fenrir:~$ glxgearsWorse yet, the X log says that DRI, hardware acceleration, and all that other happy horseshit is enabled! I wish X would make up its mind, already... in my favor, that is. This is one issue I'll be hunting down for sure; I'm going for a private pilot's license these days, and I need my FGFS. :)
1616 frames in 5.0 seconds = 323.200 FPS
1500 frames in 5.0 seconds = 300.000 FPS
1580 frames in 5.0 seconds = 316.000 FPS
Error: couldn't get fbconfigSo, I decided to do a little detective work and see why it crashes:
ben@Fenrir:~$ strace /usr/bin/X11/fgl_glxgears 2>&1 | lessWhat the heck??? It looks like someone compiled "fgl_glxgears" by linking to a bunch of libs in their home directory instead of their normal locations. Say - they all look like the ones in "/usr/X11R6/lib"!
execve("/usr/bin/X11/fgl_glxgears", ["/usr/bin/X11/fgl_glxgears"], [/* 28 vars */]) = 0
uname({sys="Linux", node="Fenrir.Thor", ...}) = 0
brk(0) = 0x804d000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/mmx/cmov/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/mmx/cmov", 0xbffff038) = -1 ENOENT (No such file or directory)
open("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/mmx/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/mmx", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/cmov/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/cmov", 0xbffff038) = -1 ENOENT (No such file or directory)
open("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/mmx/cmov/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/mmx/cmov", 0xbffff038) = -1 ENOENT (No such file or directory)
open("/home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/mmx/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
[lots of similar lines elided]
ben@Fenrir:~$ mkdir -p /home/mtippett/perforce/mtippett-dk/lnx/gcc/3.2/lib/tls/i686/mmx/It works fine now. <sigh> I should probably let ATI know about this, since they provide "fgl_glxgears" as a compiled binary... if I don't run out of patience with the usual hassle inherent in contacting a company in order to give them something useful, or fix their own bloody sloppy work. (Impatient? Me? Yeah. Incompetence, especially in dealing with the public, drives me up a wall.)
ben@Fenrir:~$ ln -s /usr/X11R6/lib $_/cmov
ben@Fenrir:~$ fgl_glxgears
/usr/lib/libGLcore.so.1Note that removing "/usr/lib/libGL.so.1", which was a symlink to nVidia's "libGL.so.1.0.5328" would have broken a number of programs that rely on finding it in "/usr/lib". However, that's an easy fix:
/usr/lib/libGLcore.so.1.0.5328
/usr/lib/libGL.la
/usr/lib/libGL.so.1
/usr/lib/libGL.so.1.0.5328
/usr/lib/tls/libGLcore.so.1
/usr/lib/tls/libGLcore.so.1.0.5328
/usr/lib/tls/libGL.la
/usr/lib/tls/libGL.so
/usr/lib/tls/libGL.so.1
/usr/lib/tls/libGL.so.1.0.5328
ben@Fenrir:~$ su -c 'ln -s /usr/X11R6/lib/libGL.so.1 /usr/lib/libGL.so.1'Done! Now, "glxinfo" gives us Good Mojo:
name of display: :0.0As a friend of mine says, "Woo and Hoo!"
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: ATI
client glx version string: 1.3
client glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_ATI_pixel_format_float,
GLX_ATI_render_texture
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9000 DDR x86/SSE2
OpenGL version string: 1.3 (X4.3.0-3.7.0)
OpenGL extensions:
GL_ARB_multitexture, GL_EXT_texture_env_add, GL_EXT_compiled_vertex_array,
GL_S3_s3tc, GL_ARB_occlusion_query, GL_ARB_point_parameters,
GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_transpose_matrix, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_window_pos, GL_ATI_element_array,
GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer,
GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once,
GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object,
GL_ATI_vertex_streams, GL_ATIX_texture_env_combine3,
GL_ATIX_texture_env_route, GL_ATIX_vertex_shader_output_point_size,
GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_stencil_wrap, GL_EXT_texgen_reflection, GL_EXT_texture3D,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle,
GL_EXT_vertex_array, GL_EXT_vertex_shader, GL_HP_occlusion_test,
GL_NV_texgen_reflection, GL_NV_blend_square, GL_NV_occlusion_query,
GL_SGI_color_matrix, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_border_clamp, GL_SGIS_texture_lod,
GL_SGIS_generate_mipmap, GL_SGIS_multitexture, GL_SUN_multi_draw_arrays
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x24 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x25 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x26 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x27 24 tc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x28 24 tc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x29 24 tc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x2a 24 tc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x2b 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2c 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2d 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2e 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2f 24 dc 0 24 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x30 24 dc 0 24 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x31 24 dc 0 24 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x32 24 dc 0 24 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
Device drivers/Character devices:3) I download and install all the GLX-related packages:
<M> /dev/agpgart (AGP Support)
<M> ATI chipset support
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
[*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<M> ATI Rage 128
<M> ATI Radeon
xlibmesa-dri - Mesa 3D graphics library modules [XFree86]Play with it for a bit, resolving errors as they come up - my GLX testing script comes in really handy here:
xlibmesa-gl - Mesa 3D graphics library [XFree86]
xlibmesa-glu - Mesa OpenGL utility library [XFree86]
------------------------------------------------------------------------------------------------...and now DRI/GLX works. Sorta. That is, it makes the "return from hibernation" hang, hard. So, I
#!/bin/bash
# Created by Ben Okopnik on Sun Jun 13 11:03:00 EDT 2004
p="Press 'q' to quit"
LIBGL_DEBUG=verbose glxinfo 2>&1|less -P"$p"
dmesg|egrep -i 'agp|drm'|less -P"$p"
less -P "Press 'n' to see the next warning or error" -ip "\(WW|EE\)" /var/log/XFree86.0.log
------------------------------------------------------------------------------------------------
xfree86-common_4.3.0.dfsg.1-4_all.deband reinstall them. I launch X, and...
xlibmesa-dri_4.3.0.dfsg.1-4_i386.deb
xlibmesa-gl_4.3.0.dfsg.1-4_i386.deb
xlibmesa-glu_4.3.0.dfsg.1-4_i386.deb
xserver-common_4.3.0.dfsg.1-4_i386.deb
xserver-xfree86_4.3.0.dfsg.1-4_i386.deb
x-window-system-core_4.3.0.dfsg.1-4_i386.deb
xlibs_4.3.0.dfsg.1-4_all.deb
libxt6_4.3.0.dfsg.1-4_i386.deb
Haven't tried it. This might be a shock to some, but I'm one of
those
odd ducks who doesn't even have a TV, so have neither the
equipment nor the interest.
Again, no idea, but I see no reason that it wouldn't work - other
than
the usual Acer perversity, perhaps.
Update 06/20/04: A little more data, none of it encouraging
(but none indicating definite breakage, either): during my last class,
I hooked the Acer to an LCD projector - which refused to cooperate
(pounding F5/F6 had no effect.) Rebooting showed the console,
hurrah!.... until the machine switched into GUI mode, at which point
the projector said "NO SIGNAL" and thumbed its nose at me. True, LCD
projectors are finicky buggers, and the odd geometry (1280x800) may
have put it off, but...
Pretty basic - I saw what Knoppix loaded (the "8139too") driver, and compiled that in. Voila.
The chipset of the sound card works pretty well with both OSS and ALSA. This is one of those places
where
I must again thank Robos, and add Kapil Hari Paranjape (both of The Linux Gazette Answer Gang) - well
done,
gentlemen, good advice! If it wasn't for them, ALSA would have remained
a
deep dark mystery to me; I'd never managed to get it working up till
now
(due to a small bug in ALSA, it turns out.) The thing to realize is
that,
even though you can compile all the ALSA stuff statically, it
won't
work: ALSA expects to load the relevant modules, and if it can't find
them,
it just drops dead. So, modular compilation - supposedly the wave of
the
future for Linux anyway - is the way to go.
Relevant kernel config:
<*> Advanced Linux Sound Architecture
<*> Sequencer support
<M> Sequencer dummy client
[*] OSS API emulation
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS Sequencer API
<*> RTC Timer support
[ ] Verbose printk
[ ] Debug
Generic devices --->
<M> Dummy (/dev/null) soundcard
<M> Virtual MIDI soundcard
< > MOTU MidiTimePiece AV multiport MIDI
<M> UART16550 - MIDI only driver
<M> Generic MPU-401 UART driver
PCI devices --->
<*> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111
Update, 2/21/04: I'm back to OSS. ALSA messed up the sound in Quake2 - it kept cycling on and off on about a 1-second loop, made FlightGear very unhappy (lots of error messages regarding sound), and I gave up after trying to fix it for several hours. OSS Just Works - again, except for the MIDI stuff, which didn't work with ALSA either. As I understand it, AC97 cards have been a problem that way ever since the beginning. No big deal; I just use Timidity to do software-based MIDI, and all is good.
Update, 3/09/04: ...and right
back
to ALSA! OSS turned out to have a score of problems all its own; much
of what I thought was an ALSA problem was an Acer Problem (tm). In
fact, now that I've upgraded to the 2.6.3 kernel, Quake2 is the only
app left that's
giving me sound problems: even games like "luola" and "pathological",
which
previously crashed during sound initialization, are working fine. As to
Flight
Gear, it worked well after I messed around with it (i.e., I didn't
really
do anything different - except perhaps recompile the kernel with the
same
exact sound settings). <shrug> ¿Quien sabe?
Anyway, 2.6.3
is a big jump forward in ALSA functionality, so that's where things are
now.
Update, 4/01/04: Got Quake
working.
This is not documented anywhere, I just got there by screwing around
with
it endlessly and taking some wild guesses. In your
"~/.quake2/baseq2/config.cfg",
change the line that says
set snddriver "oss"to
set snddriver "sdl"The "alsa" driver is broken. So, no, ALSA itself wasn't to blame; just me unable to see the trees for the forest...
Blah. It's a Winmodem, one of
those
disgusting creatures that glom onto their host organism and drink its
blood...
or at least CPU cycles. I don't really have much to report, since I
haven't
had an occasion to set this thing up yet; the modem I use is part of my
Nextel
i730 cell phone - I live on a boat anchored a few hundred feet from
shore,
and phone lines are a bit rare out here. Meanwhile, according to the
redoubtable
Robos, the creature should work when prodded with the drivers available
here.
I'm
sure I'll be finding out about it Real Soon Now...
Update 2/23/04: Installed
"slmodem-2.9.5".
It's a little messy - you have to load the appropriate module, then
launch
a daemon which creates the device (/dev/ttySL0), at which point you can
dial
out. If you use "wvdial", note that it will require 'Carrier Check =
no'
in its config file. All of this, as well as the compilation process, is
covered
in the README included in the package.
My solution to the mess uses shell scripting, "sudo" (required to
load
the module and create the device), and "icewm"'s key configuration
menu.
It should not be very different for other window managers, particularly
ones
that allow you to define shortcut keys (e.g. KDE and "fvwm".)
# Create the module loader/daemon launcher script, "modemup"Restart "icewm", and there you'll be, able to please tall blondes in a single mounting... or something like that, anyway.
ben@Fenrir:~$ cat <<! > /usr/local/bin/modemup
#!/bin/bash
# Created by Ben Okopnik on Mon Feb 23 10:25:03 EST 2004
modprobe slamr
/usr/sbin/slmodemd /dev/slamr0
!
# Make it executable by everyone but readable and writeable only by owner
ben@Fenrir:~$ chmod 711 /usr/local/bin/modemup
# Make it a bit more secure
ben@Fenrir:~$ su -c 'chown root.root /usr/local/bin/modemup'
Password:
# Make "/usr/local/bin/modemup" executable via "sudo" for the appropriate person or group; see "man sudo"
ben@Fenrir:~$ su -c visudo
Password:
# Create loader/dialer script
ben@Fenrir:~$ cat <<! > /usr/local/bin/dialup
#!/bin/bash
# Created by Ben Okopnik on Mon Feb 23 10:28:51 EST 2004
xterm -geometry 50x10+0+0 -fn fixed -title "Slammr daemon" -e sudo modemup &
sleep 1
xterm -geometry 50x10+0+0 -fn fixed -title "WVDial" -e wvdial &
!
# Make it executable
ben@Fenrir:~$ chmod 755 /usr/local/bin/dialup
# Finally, tie "dialup" to a hotkey in "icewm".
ben@Fenrir:~$ echo 'key "Alt+Ctrl+d" dialup' > ~/.icewm/keys
More involuntary dentistry involved (this is all like pulling teeth,
with
much screaming and wishing for strong pain-killers.) Of course
wireless doesn't work - at least not easily. I haven't really had a
chance
to test it - the only WAP I know of is at the local airport, and when
I'm
there, I'm too busy for playing with computers (I'm going for my
pilot's
license.) However, everything that can be done without a WAP, I've
done.
What this requires is ndiswrap
- although you could always go to linuxant.com and pay $20 for a
closed-source system, such a deal! Yeah, right. Anyway, download and
unpack "ndiswrap",
get and unpack the "Intel PRO/Wireless Lan 2100" driver ("driver2" is
what
I used, and it works fine), read the "INSTALL" file from the "ndiswrap"
tarball,
follow the instructions. One thing that is a little unclear in their
instructions,
though: after you tell "install.sh" where the Intel files are, you can
go
ahead and delete them; they get copied (both the .inf and the .sys
files)
into "/lib/windrivers". So, when you need to test this thing and it
wants
to know where these files are, that's the directory you specify. In
other
words, the manual invocation goes like this:
modprobe ndiswrapper
loadndisdriver 8086 1043 /lib/windrivers/w70n51.sys /lib/windrivers/w70n51.inf
iwconfig wlan0 mode Managed
# *** Set this to your access point's ESSID, or"default"for a public access AP ***
iwconfig wlan0 essid <ESSID>
pump -i wlan0
After you've done this, you can play with it via "iwconfig wlan0
scan",
etc. You can also look at "/proc/net/ndiswrapper/wlan0/{hw,stats,wep}"
for
various relevant info. For more hints, troubleshooting, etc., see the
FAQ
and the "tips" links at the "ndiswrap" site, above.
I'll be adding more information here when I finally do get a chance to get on the air.
Update, 03/29/04: Finally. I've just managed to drag the 'top over to my local airport, which happens to have an air port [that's a joke, son. You're supposed t' laugh, dammit.] - in fact, that's where I'm sitting now. The "loadndisdriver" line gives an error that sounds like a failure, but reading "dmesg" output tells me that the code just has some unimplemented routines, nothing to worry about. The main thing is that it responds with a MAC address, which means that the interface "exists" as far as Linux is concerned - and that's all we need it to do.
The speed, however, sucks. In Wind0ws, I'm getting an 11Mb/S
connection - not that I've actually measured it, but Web pages snap
onto the screen
with a speed I've never experienced before. In Linux... [sigh] I'm
doing
a system update via "apt-get", and I'm running just about 28kB/S. I
don't
think it's the Debian server, either; I've tried surfing Google, and
the
results are dismal. Anyone that has info on speeding this up - having
zero
previous experience with wireless networks, I might be missing
something
trivial - please let me know. Not that I'm going to be here all
that
often, but I'd like to minimize the amount of buggy crap going on with
this
machine.
Update, 06/20/04: I've installed
the ipw2100 driver from
Intel; it works beautifully, high speed and everything. A little note
for those who wish to follow in my footsteps: place the "hostap"
directory inside the ipw2100
directory, compile "hostap", then compile ipw2100. Otherwise, you'll
have to provide all sorts of ugly option to "make" - yeah, these are
documented somewhere deep in the ipw2100 documentation, but why bother?
Also, if you have a separate partition for "/usr" (as I do), placing
Intel's firmware file in the default location,
"/usr/lib/hotplug/firmware/", isn't going to work: the modules get
loaded before the partitions get mounted. The fix is to place it in
"/etc/firmware" and uncomment the CONFIG_IPW2100_LEGACY_FW_LOAD line in
the ipw2100 makefile.
Don't forget: you're going
to need to run "make" and "make install" in both of these directories every time that you recompile the
kernel! (Hint: /lib/modules is a convenient place to put these
directories. So is /usr/src.)
ben@Fenrir:~$ tail -n 0 -f /var/log/messagesRelevant kernel config:
Feb 15 21:01:29 Fenrir kernel: Linux Tulip driver version 1.1.13 (May 11, 2002)
Feb 15 21:01:29 Fenrir kernel: PCI: Enabling device 0000:03:00.0 (0000 -> 0003)
Feb 15 21:01:29 Fenrir kernel: eth1: ADMtek Comet rev 17 at 0x4000, 00:10:7A:68:2F:74, IRQ 11.
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->For those who happen to have the same PCMCIA network card as I do - a NetGear CardBus FA511 - the relevant driver is not in the PCMCIA section of "Device drivers/Networking support" but in the "Ethernet (10 or 100Mbit)/Tulip family network device support" section in the same area. Odd but true, and one of the few "problems" here that is not Acer's fault. :)
[*] PCI support
PCI access mode (Any) --->
[*] PCI device name database
[*] Support for hot-pluggable devices
PCMCIA/CardBus support --->
<*> PCMCIA/CardBus support
<*> CardBus yenta-compatible bridge support
The biggest problem here was finding out what the heck the infrared
hardware
was: "findchip" from irda-tools was clueless; "lspci" didn't list
anything;
"dmesg" had no idea... oh yes - there is something
Windows
is good for! It's not actual hardware detection as such - more like,
OEMs
actually describe their hardware by name in the device manager. Before
I
remembered that, I managed to blow another hour or so trying to load
the
wrong IR driver (one that worked with another Acer laptop.) Once I got
it,
it only took a couple of seconds. Here are the settings in "Device
Drivers/Networking support/IrDA (infrared) support":
<M> IrDA subsystem support
--- IrDA protocols
<M> IrLAN protocol
<M> IrNET protocol
<M> IrCOMM protocol
[*] Ultra (connectionless) protocol
--- IrDA options
[*] Cache last LSAP
[*] Fast RRs (low latency)
[*] Debug information
Infrared-port device drivers --->
--- SIR device drivers
<M> IrTTY (uses Linux serial driver)
<M> IrPORT (IrDA serial driver)
--- FIR device drivers
<M> SMSC IrCC (EXPERIMENTAL)
I've enabled all the different protocols for no better reason than
I've
never played with Linux IrDA yet, and want to have this stuff
available. The
important part is the last line, above: that's the driver for the IR
hardware
in this machine. Note: odd as it sounds, you'll need to enable
"Bus
options (PCI, PCMCIA, EISA, MCA, ISA)/ISA support" for that driver to
even appear on the list. Ask not why, pilgrim; I know not, but I'm sure
it's something dark and terrible...
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)Now you can use "ifup" and "ifdown" on it. It will also come up automatically (assuming that you've got the "irda" and "smsc_ircc2" loaded) when you boot.
# The loopback interface
# automatically added when upgrading
auto lo eth0 irda0 # Add it here to bring it up right from the start
iface lo inet loopback
iface eth0 inet static
address 192.168.1.30
netmask 255.255.255.0
iface irda0 inet static # Much like the Ethernet interface except for the IP
address 192.168.1.35
netmask 255.255.255.0
You'll want to install "irda-common", "irda-tools", and "irda-utils" (doesn't do you any good to have an interface if you don't have the tools to use it.) If you want to talk IrOBEX (e.g., connecting to your Palm Pilot via IR), you'll also need to install "openobex-apps". Now you'll be able to test the whole rig by running "irobex_palm3" and sending it, say, your business card or a random file from the Palm. At the bits'n'bytes level, you could fire up "irdadump" as root, and it'll tell you all about life in the infrared zone - in LOTS of detail. If you get in trouble, take a look at the "Infrared HOWTO", in many places on the Net.
No idea. Haven't had a chance to test it, and it's a low probability that I ever will. The relevant modules load without any errors, though.
ben@Fenrir:~$ lsmodThe kernel config looks like this:
Module Size Used by
usb_storage 63296 0
sd_mod 13792 0
scsi_mod 71752 2 usb_storage,sd_mod
bsd_comp 5952 0
snd_virmidi 3776 0
snd_seq_virmidi 7136 1 snd_virmidi
fglrx 208748 9
[*] Support for hot-pluggable devicesSCSI device support
<M> SCSI device supportUSB support
<M> SCSI disk support
<M> SCSI CDROM support
[*] Enable vendor-specific extensions (for SCSI CDROM)
<M> SCSI generic support
[*] Probe all LUNs on each SCSI device
[*] Build with SCSI REPORT LUNS support
<*> Support for USBAs a result, this is what I get in "/var/log/messages" when I first plug in a SmartMedia card:
[*] USB device filesystem
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
<*> USB Modem (CDC ACM) support
<M> USB Mass Storage support
[*] USB Mass Storage verbose debug
[*] SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL)
[*] SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL)
Jan 30 14:47:11 Fenrir kernel: SCSI subsystem initialized
Jan 30 14:47:49 Fenrir kernel: hub 3-0:1.0: new USB device on port 1, assigned address 2
Jan 30 14:47:49 Fenrir kernel: Initializing USB Mass Storage driver...
Jan 30 14:47:49 Fenrir kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Jan 30 14:47:49 Fenrir kernel: Vendor: Model: USB Card Reader Rev: 1.2b
Jan 30 14:47:49 Fenrir kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 30 14:47:49 Fenrir scsi.agent[1596]: how to add device type= at /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/host0/0:0:0:0 ??
Jan 30 14:47:49 Fenrir kernel: SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
Jan 30 14:47:49 Fenrir kernel: sda: Write Protect is off
Jan 30 14:47:49 Fenrir kernel: sda:<7>usb-storage: queuecommand called
Jan 30 14:47:49 Fenrir kernel: sda1
Jan 30 14:47:49 Fenrir kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Jan 30 14:47:49 Fenrir scsi.agent[1621]: how to add device type= at /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/host0/0:0:0:1 ??
Jan 30 14:47:49 Fenrir kernel: Vendor: Model: USB Card Reader Rev: 1.2b
Jan 30 14:47:49 Fenrir kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 30 14:47:49 Fenrir kernel: Attached scsi removable disk sdb at scsi0, channel 0, id 0, lun 1
Jan 30 14:47:49 Fenrir scsi.agent[1641]: how to add device type= at /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/host0/0:0:0:2 ??
Jan 30 14:47:49 Fenrir kernel: Vendor: Model: USB Card Reader Rev: 1.2b
Jan 30 14:47:49 Fenrir kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 30 14:47:50 Fenrir kernel: Attached scsi removable disk sdc at scsi0, channel 0, id 0, lun 2
Jan 30 14:47:50 Fenrir kernel: drivers/usb/core/usb.c: registered new driver usb-storage
Jan 30 14:47:50 Fenrir kernel: USB Mass Storage support registered.
As recommended in the 2.6 kernel, I stopped using the SCSI emulation
for
CD writing; the IDE/ATAPI functionality seems to be up and working
fine.
The only difference was that I had to use the new ATAPI syntax with
"cdrecord":
# Old device syntax
cdrecord -v dev=0,0,0 speed=24 file.iso
# New version
cdrecord -v dev=ATAPI:0,0,0 speed=24 file.iso
DVDs play just fine with "mplayer" and "ogle". Also, there's a
firmware
upgrade available for this drive at rpc1.org,
but it seems to be completely up to date out of the box. I have not yet
tried
writing any DVDs, and will update this when I do.
Update, 2/24/04: Writing DVDs turns out to require a bit of setup. If you've never done it before, run do not walk to Joerg Schilling's site ProDVD and follow the instructions. The speed of this drive (Matshita/Panasonic UJ-815A) isn't too bad: it took 55.5 minutes to write a full 4.7GB DVD. Nice for backups. Do make a DVD-writing wrapper script as Joerg suggests; otherwise, your CD writing speed will be reduced to about 2x, probably not what you want.
I have not yet had a chance to play with setting these up, although I suspect that "lineakd", which I was using with my Dell Inspiron, will do Good Things when I get around to it. Meanwhile, my biggest requirement in this regard - volume control - is being handled by the old mechanism I used before I ran into "lineakd", a Perl script that saves the current volume settings via "cam" and adjusts them based on how it's invoked:
#!/usr/bin/perl -wI then tied this script to a couple of hotkeys, like so:
# Created by Ben Okopnik on Sat Jun 1 01:00:39 EDT 2002
die "Usage: ", $0 =~ /([^\/]+)$/, " -u|-d\n" unless $ARGV[0] =~ /^-[ud]$/;
# Save current volume level, which may be different from the .camrc...
system qw/cam -save/ and die "Weirdness has occured: save failed. $!\n";
open RC, "$ENV{HOME}/.camrc" or die "Couldn't open ~/.camrc: $!\n";
# Read only the second line (volume)
while ( <RC> ){ ( $vol ) = /(\d+)/ if $. == 2; }
$ARGV[0] =~ /u/ ? ( $vol > 95 ) || ( $vol += 5 ): ( $vol < 25 ) || ( $vol -= 5 );
system "cam -v $vol,$vol -p $vol,$vol -S $vol,$vol -c $vol,$vol";
ben@Fenrir:~$ grep vol .icewm/keysUpdate, 4/10/04: Got a nice hint from the whatlaptop forum on this. If you look inside the Arcade tarball, there's a file called "enableub" in the "/cplay" directory; oddly enough, it enables user bindings. :) Also, get a hold of "/etc/rc2.d/S92keymap" - it actually maps the keys to reasonable keycodes (which you can then set up to trigger whatever action you like.) I've tried it, and it works - but I haven't actually implemented it, since I've never been much of a fan of "extra keys" anyway. Here is the list of all the keys that "wake up" as a result (you can see it happening in "xev", etc.):
key "Alt+Ctrl+a" voladj -u
key "Alt+Ctrl+z" voladj -d
Subwoofer On/Subwoofer Off # These already work by default
Arcade
Power-off # Could be useful in later ACPI setup
FN+F1 # Hmm... map it to "tkman", perhaps? :)
FN+F3 # More ACPI bait
FN+F5
FN+F8
FN+Up
FN+Down
5-way + stop key # This would actually be pretty nice when mapped to, say, "xmms" or "mplayer"!
Up
down
enter
right
left
Update, 6/20/04: I'm up to 2.6.7-rc3 at this point. It's still highly experimental, but it allows me to have my "hibernate" facility and my "ati" driver. No major complaints so far, although it appears to have an occasional problem with the ppp driver.
* Ben Okopnik * okopnik.freeshell.org * Editor-in-Chief, Linux Gazette *
-*- See the Linux Gazette in its new home: <http://linuxgazette.net> -*-