* [gentoo-user] Finally got my Acer Aspire 4551 notebook 100% functional
@ 2011-02-22 17:51 Walter Dnes
2011-02-22 21:51 ` [gentoo-user] " walt
0 siblings, 1 reply; 3+ messages in thread
From: Walter Dnes @ 2011-02-22 17:51 UTC (permalink / raw
To: Gentoo Users List
[-- Attachment #1: Type: text/plain, Size: 13354 bytes --]
I finally got my Acer 4551 100% functional under 64-bit Gentoo linux.
Thanks to various people on various linux forums who spelled out the
answers, and also to "Mr. Google" for helping me find them. There are
sevaral tweaks that are required to get things working. I'll
concentrate on the stuff that's not obvious/intuiutive. Unless
otherwise specified, everything here is an entry in "make menuconfig",
setting up the kernel. Here it is...
1)
Getting USB mice and keyboards and other low-speed USB devices to work.
Device Drivers --->
[*] USB support --->
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
Notice that in addition to EHCI (USB 2.0), I've specified OHCI (USB1.1)
support. Low-speed USB peripherals (e.g. external mice and keybords)
and older USB peripherals in general *MUST* have this driver to work. I
know that the "Root Hub Transaction Translators" item is *SUPPOSED* to
provide OHCI support via the EHCI driver. But for this machine, it
doesn't work.
2)
The Broadcomm chip/nic requires "PHY Device support" *IN ADDITION TO*
the expected driver entry. It doesn't work without the PHY driver.
Device Drivers --->
[*] Network device support --->
-*- PHY Device support and infrastructure --->
<*> Drivers for Broadcom PHYs
The standard entry is also required...
Device Drivers --->
[*] Network device support --->
[*] Ethernet (1000 Mbit) --->
<*> Broadcom Tigon3 support
The wireless is pretty standard, using the ath9k module.
3)
Power management could be a wiki article all on its own. First, the
kernel setup. Recompile and reboot after the following two areas are
set...
Power management and ACPI options --->
[*] Power Management support
[*] ACPI (Advanced Configuration and Power Interface) Support --
[*] Deprecated /proc/acpi files
[*] Deprecated power /proc/acpi directories
[*] Future power /sys interface
[*] Deprecated /proc/acpi/event support
<*> AC Adapter
<*> Battery
<*> Button
<*> Fan
<*> Dock
<*> Processor
<*> Processor Aggregator
<*> Thermal Zone
<*> Smart Battery System
Build the performance/powersave/userspace/ondemand/conservative
governors into the kernel. Make "conservative" the default governor.
Power management and ACPI options --->
[*] Power Management support
CPU Frequency scaling --->
[*] CPU Frequency scaling
[*] Enable CPUfreq debugging
< > CPU frequency translation statistics
Default CPUFreq governor (conservative) --->
-*- 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
-*- 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
*** CPUFreq processor drivers ***
< > Processor Clocking Control interface driver
<*> ACPI Processor P-States driver
<*> AMD Opteron/Athlon64 PowerNow
* Then install "cpufrequtils"
* Then set up a couple of configuration files. First, use ACPI to
detect power status. When the machine switches to battery power,
select "powersave" governor. When the machine switches to AC power,
select "conservative" governor. Note that the lines below are *NOT*
the complete "/etc/acpi/default.sh". *DO NOT DELETE THE REST OF THE
FILE!* I am simply including only the relevant portion of the file.
The following lines are near the bottom of the default version of...
/etc/acpi/default.sh
====================
ac_adapter)
case "$value" in
# Add code here to handle when the system is unplugged
# (maybe change cpu scaling to powersave mode). For
# multicore systems, make sure you set powersave mode
# for each core!
*0)
cpufreq-set -c0 -g powersave
cpufreq-set -c1 -g powersave
;;
# Add code here to handle when the system is plugged in
# (maybe change cpu scaling to performance mode). For
# multicore systems, make sure you set performance mode
# for each core!
*1)
cpufreq-set -c0 -g conservative
cpufreq-set -c1 -g conservative
;;
*) log_unhandled $* ;;
esac
;;
* That takes care of what to do when the AC adaptor state changes. But
what about at bootup? There isn't an "AC adaptor event" at bootup, so
we have to check the power status directly, and select the governor as
required. The standard location for custom bootup scripting is
/etc/conf.d/local.start
/etc/conf.d/local.start
=======================
# Check whether AC adapter is plugged in, and set governor accordingly
ac_state=`cat /sys/class/power_supply/ADP1/online`
if [ ${ac_state} -eq 1 ]; then
cpufreq-set -c0 -g conservative
cpufreq-set -c1 -g conservative
else
cpufreq-set -c0 -g powersave
cpufreq-set -c1 -g powersave
fi
4)
Setting up the video. This is based on instructions found at
http://www.gentoo.org/doc/en/xorg-config.xml The "new world order" in
linux video drivers seems to be that the framebuffer is built directly
into the driver itself. Therefore card-specific framebuffer driver
support *MUST* be disabled, but console framebuffer support *MUST* be
enabled, like so...
Device Drivers --->
Graphics support --->
Support for frame buffer devices --->
(Disable all drivers, including VGA, Intel, nVidia, and ATI)
(Further down, enable basic console support. KMS uses this.)
Console display driver support --->
<*> Framebuffer Console Support
To enable Radeon KMS support...
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager --->
<*> ATI Radeon
[*] Enable modesetting on radeon by default
Point to the firmware blob to be loaded into the kernel to enable
hardware acceleration...
Device Drivers --->
Generic Driver Options --->
[*] Include in-kernel firmware blobs in kernel binary
(radeon/R600_rlc.bin) External firmware blobs to build into the kernel
(/lib/firmware/) Firmware blobs root directory
Next, we have to download and install the firmware blob that enables
hardware acceleration for the onboard graphics chip. In Gentoo linux,
the command is "emerge radeon-ucode". Similar commands should exist in
most distros. If not, you can download the blob files directly from
http://people.freedesktop.org/~agd5f/radeon_ucode/ into directory
/lib/firmware/radeon on your Acer Aspire 4551. Create that directory if
it doesn't already exist. Your machine should only need one of the
files in the directory but it doesn't hurt to download all of them. In
my case, it's the R600_rlc.bin file. This should be true for most Acer
Aspire 4551 models, but a newer video chip may be inserted in future
production runs, which requires a different blob file.
And now for a little bonus... usable text consoles. With the new KMS
video drivers the text console defaults to native graphics resolution,
which is 1366x768 for the Acer Aspire 4551. Some quick division shows
that the default 8x16 VGA font will result in an unreadably crowded 170
columns x 48 rows display. But you can select any other supported mode
found in /var/log/Xorg.0.log. One valid mode is 640x480. We can put
the option "video=640x480" in the "append" line of /etc/lilo.conf, or in
the equivalant area of the GRUB loader. The text consoles will be
640x480, but X will remain at 1366x768. The default 8x16 VGA font will
result in a perfectly readable 80 columns x 30 rows display on text
consoles.
As they say in the infomercials... but wait, there's more. If you cd
to /usr/share/consolefonts and execute "ls -1 lat1*", you'll get...
lat1-08.psfu.gz
lat1-10.psfu.gz
lat1-12.psfu.gz
lat1-14.psfu.gz
lat1-16.psfu.gz
These fonts are all 8 pixels wide, so that results in a 640 / 8 = 80
column display. The vertical size differs for each font. If you
execute "setfont lat1-08" at a text console, you'll get a hard-to-read
80 columns x 60 rows display. If you execute "setfont lat1-10", you'll
get a crisp 80 x 48 text display. "setfont lat1-12" gives an 80 x 40
display, and "setfont lat1-14" gives an 80 x 34 text display. By the
way, 8x8 is the ancient CGA font, and 8x14 is the old EGA font. To have
the desired font come up at bootup, enter it in /etc/conf.d/consolefont
In my case, I have the line...
CONSOLEFONT="lat1-10"
in /etc/conf.d/consolefont. In combination with "video=640x480", this
gives an 80 columns x 48 rows text display. Which one you choose
depends on personal taste, and how good your eyesight is. Note that I
used "lat1" as an example. You can use another available encoding if
you desire.
6)
The webcam does not show up under the "lspci"command. Rather, it seems
to be internally hooked up to a USB connector. On my machine, the
output of the command "lsusb" includes the line...
Bus 002 Device 003: ID 064e:a219 Suyin Corp.
That's a "Suyin Crystal Eye" webcam. Here are the items that need to
be selected in the kernel...
Device Drivers --->
<*> Multimedia support --->
<*> Video For Linux
[*] Enable Video For Linux API 1 compatible Layer
[*] Video capture adapters --->
[*] Autoselect pertinent encoders/decoders and other helper chi
[*] V4L USB devices --->
<*> USB Video Class (UVC)
[*] UVC input events device support
Note that with UVC functionality implemented in newer kernels, you do
*NOT* need to install the linux-uvc library separately.
Depending on whether you have the necessary codecs built in, you can
display video from the webcam with...
mplayer tv:// -tv driver=v4l2:device=/dev/video0
...or record to disk with a command like...
ffmpeg -f video4linux2 -i /dev/video0 out.mpeg
7)
The kernel configs I used for setting up sound playback and recording
are as follows. Note that you *MUST BUILD "Sound card support" AS A
MODULE*. I don't know why this is the case, but I couldn't get the
microphone to work if I didn't do it this way. If you're *ABSOLUTELY
100% CERTAIN* that you won't be using OSS compatability support, you can
drop the OSS items listed below. I keep them, because devices are more
reasonably named in OSS than in ALSA. Note the 2 audio codecs. The
Realtek codec is for the sound chip. The ATI HDMI codec is for audio
output from the video card (YES!). The HDMI spec handles audio and
video via one cable, and the Acer 4554 does have an HDMI output port
(not DVI, but you can get adaptor cables).
Device Drivers --->
<M> Sound card support --->
[*] Preclaim OSS device numbers
<M> Advanced Linux Sound Architecture --->
<M> Sequencer support
<M> Sequencer dummy client
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
[*] OSS Sequencer API
[*] Verbose procfs contents
[*] PCI sound devices --->
<M> Intel HD Audio --->
[*] Build Realtek HD-audio codec support
[*] Build ATI HDMI HD-audio codec support
In order to be able to record from the microphone, you *MUST TURN ON
CAPTURE MODE*. The attached screen capture is from the "alsamixer"
utility, which is run from the command line. After starting alsamixer,
press {F5} to display all devices/controls. I stretched the xterm to
accomadate it. If you don't stretch it, you can scroll sideways.
Note the red "CAPTURE" text near the bottom right. This is toggled
on/off by pressing the spacebar in alsamixer, similar to toggling
speaker on/off by pressing "M". You must turn it on to enable recording
from either the built-in microphone or an external microphone that you
plug in. Here are the settings I use to record sound with enough volume
to be clearly audible, but not loud enough to generate hissing static...
91 89<>89 89<>89 90<>90 0<>0 0<>0 0<>0
Master Headphone Speaker PCM Front Mic Front Mic Front Mic
84<>84 67<>67 67<>67 84<>84 0<>0
Mic Mic Boost Mic Boost Capture Capture 1
To record sound, you can use either ALSA mode or OSS mode (if support
has been built in). Example corresponding commands for ALSA and OSS...
ffmpeg -y -f alsa -i plughw:0,0 audio1.wav
ffmpeg -y -f oss -i /dev/dsp audio2.wav
Remember what I said about OSS devices being more reasonably named?
8)
Putting items 6 and 7 together, you can record/transmit video and
audio simultaneously, i.e. webcam and microphone. You can specify
video size (from a limited number of valid sizes), frame rate, codecs,
sampling rate, etc, if you want complete control. An example command
to record yourself is...
ffmpeg -y -f alsa -r 16000 -i plughw:0,0 -f video4linux2 -s 800x600 -i /dev/video0 -r 30 -f avi -vcodec mpeg4 -vtag xvid -sameq -acodec libmp3lame -ab 96k output.avi
If you change "-f alsa -r 16000 -i plughw:0,0"
to "-f oss -r 16000 -i /dev/dsp"
it will also work, as long as you've built OSS support..
--
Walter Dnes <waltdnes@waltdnes.org>
[-- Attachment #2: alsa.png --]
[-- Type: image/png, Size: 14666 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [gentoo-user] Re: Finally got my Acer Aspire 4551 notebook 100% functional
2011-02-22 17:51 [gentoo-user] Finally got my Acer Aspire 4551 notebook 100% functional Walter Dnes
@ 2011-02-22 21:51 ` walt
2011-02-26 10:29 ` Mick
0 siblings, 1 reply; 3+ messages in thread
From: walt @ 2011-02-22 21:51 UTC (permalink / raw
To: gentoo-user
On 02/22/2011 09:51 AM, Walter Dnes wrote:
> I finally got my Acer 4551 100% functional under 64-bit Gentoo linux.
Congratulations :)
> Thanks to various people on various linux forums who spelled out the
> answers, and also to "Mr. Google" for helping me find them. There are
> several tweaks that are required to get things working...
Thank you for the excellent write-up. I still don't have a laptop or a
notebook just because I expect to suffer a lot of pain before I could
actually use it for anything, and you've just confirmed my suspicions :)
By the time I read the last of your 'several' tweaks, my blood pressure
must have been 250 because I can definitely feel your pain.
Thanks for sharing :)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [gentoo-user] Re: Finally got my Acer Aspire 4551 notebook 100% functional
2011-02-22 21:51 ` [gentoo-user] " walt
@ 2011-02-26 10:29 ` Mick
0 siblings, 0 replies; 3+ messages in thread
From: Mick @ 2011-02-26 10:29 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: Text/Plain, Size: 1415 bytes --]
On Tuesday 22 February 2011 21:51:43 walt wrote:
> On 02/22/2011 09:51 AM, Walter Dnes wrote:
> > I finally got my Acer 4551 100% functional under 64-bit Gentoo linux.
>
> Congratulations :)
>
> > Thanks to various people on various linux forums who spelled out the
> > answers, and also to "Mr. Google" for helping me find them. There are
> > several tweaks that are required to get things working...
>
> Thank you for the excellent write-up. I still don't have a laptop or a
> notebook just because I expect to suffer a lot of pain before I could
> actually use it for anything, and you've just confirmed my suspicions :)
>
> By the time I read the last of your 'several' tweaks, my blood pressure
> must have been 250 because I can definitely feel your pain.
>
> Thanks for sharing :)
Thanks indeed to Walter for providing such a detailed howto - now time to
repeat in the wiki ;-)
I don't think that it is particularly painful to get a laptop to work (well,
most of the time). You can get a laptop up and running with a full desktop
within a day or so, but it will of course take longer to troubleshoot pesky
devices/drivers and bespoke configurations. That can happen over a period of
days/weeks when free time is available. The frustration of course comes when
you want to use something urgently, which you have not configured yet! :-))
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-02-26 11:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-22 17:51 [gentoo-user] Finally got my Acer Aspire 4551 notebook 100% functional Walter Dnes
2011-02-22 21:51 ` [gentoo-user] " walt
2011-02-26 10:29 ` Mick
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox