Календар

April 2007
M T W T F S S
« Mar   May »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Инсталация Ubuntu 7.04 на Dell Latitude 620

Това, което ще напиша е почти 100% повторение на тази статия: http://www.math.dartmouth.edu/~sarunas/D620F6.html но има и доста други материали събрани от тук, от там с цел получаване на по-точна картина. Най-голямата изненада, обаче се оказа, че Dell пускат под едно и същи име, под един и същи модел съвсем различни неща. Лаптола за който пиша е със следната конфигурация:

lspci

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
03:01.0 CardBus bridge: O2 Micro, Inc. OZ601/6912/711E0 CardBus/SmartCardBus Controller (rev 40)
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)

Повечето материали, които намерих са за разновидност (?!) на модел PP18L, който се е продавал миналата година:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation Quadro NVS 110M / GeForce Go 7300 (rev a1)
03:01.0 CardBus bridge: O2 Micro, Inc. OZ601/6912/711E0 CardBus/SmartCardBus Controller (rev 40)
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

Разликите са, че “моят” лаптоп е с вграден видеоконтролер Intel 945GM и Wireless от Broadcom, за разлика от по-старaта разновидност, която е с Nvidia видеоконтролер и Intel Wireless. Лично аз предпочитам по-старият “модел”. Донякъде и това обяснява, защо не можах да направя някои от нещата постигнати ΀¾т другите притежатели на такъв лаптоп.

Всъщност, Ubuntu доста добре се справя с инсталацията и не остава почти нищо за дооправяне. Дори клавишите за звук (усилване и намаляване) си работят нормално в Gnome среда. Все пак има няколко неща, които е задължително да се направят.

1. Здраво напачване и обновяване на ядрото (а по-добре и на цялата система):

Трябва да го докарате поне до тук:

> uname -a

Linux YBE07002L 2.6.17-11-generic #2 SMP Tue Mar 13 23:32:38 UTC 2007 i686 GNU/Linux

Добавят се и linux-restricted-modules

(“apt-get install linux-restricted-modules-2.6.17-11-generic”)

В момента това е текущото ядро, системата е напачена и излъскана с последните ъпдейти.

2. Инсталиране на правилните видео драйвери и конфигурирането им:

Добре е да погледнете това:

http://yogharp.wordpress.com/2006/12/19/ubuntu-edgy-on-intel-945gm-graphics-wide-screen-lcd-notebooks/

– първо си “оправяте” разделителната способност: “sudo apt-get install 915resolution”. От това място: http://www.geocities.com/stomljen/ можете да погледнете за какво иде реч. Накратко, това е хак на BIOS-a на Intel базирани карти за да могат да поддържат “необичайни” за тях видео режими. Едно отклонение – никога не съм разбирал официалните разработчици, защо при положение, че са си дали труда да вкарат някаква функционалност в даден продукт, то тази функционалност не я правят общодостъпна, ами се налага почти винаги някой да до оправя нещата с мръсни хакове.

– изтегляне на драйверите:

http://downloadmirror.intel.com/df-support/9726/eng/dri-Intel-3.4.3006-20051209.i386.rpm

– инсталира се “alien” (ако вече го имате сте ОК). Примерно с “apt-get install alien”. Това е пакет за конвертиране на RPM пакети в такива за Debian.

– “sudo alien dri-Intel-3.4.3006-20051209.i386.rpm” след което си правите нормално “sudo dpkg -i dri-Intel-3.4.3006-20051209.i386.deb” Вече би трябвало да имате готов и инсталиран DRI драйвер за Intel945, т.е. повечето работа е свършена.

– конфигуриране на 915resolution: във файл /etc/default/915resolution променяте XRES0=1280 и YRESO=800 след което правите “/etc/init.d/915resolution start” (по-точно “stop”, след което “start”);

На различни места видях, че вероятно може да се постигне разделителна способност от 1440х900. Аз така и не успях. Нещата от рода “dpkg-reconfigure xserver-xorg”, избор на 1440х900 не помогнаха. Засега оставям нещата така, ще опитам по-късно. Ако пък някой знае как да стане това – има по бира-две от мен за акъла.

Допълнение: Мистерията е разгадана. Dell имат различни модификации (отново!) за различните модели D620: WXGA (1280х800) и WXGA+ (1440х900). На мен, просто ми се е “паднал” такъв с WXGA дисплей. Едно от малкото места в мрежата, където тази разлика е изрично показана е тук. Затова много внимавайте, какво ще поръчвате, ако някога решите да купите този модел.
3. Процесор в по-икономичен и управляем режим.

– инсталирате sysfsutils и cpufrequtils: “apt-get install sysfsutils cpufrequtils”;

– зареждане на драйвера за управление на процесора. В случаят с D620 би трябвало да заредите драйвер speedstep_centrino, (това е драйвер за процесори Centrino, Core Duo или Core2 Duo, какъвто на практика е процесора на D620) но аз поне не успях да заредя този драйвер. Грешката беше: “FATAL: Error inserting speedstep_centrino (/lib/modules/2.6.20-15-generic/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko): No such device”. Не ми се бараше по настройките на ядрото, затова се задоволих с общият драйвер, acpi_cpufreq (ако някой е забравил, как се зареждат драйвери, то подсещам: modprobe acpi_cpufreq).

– задаване поведение на управлението. Лично аз винаги съм предпочитал производителността пред икономията. Кой знае защо, обаче модулът cpufreq_performance не беше намерен, затова използвах cpufreq_оndemand, което е по-добре от другата възможност cpufreq_powersave. Естесвено, винаги може да зададете и cpufreq_conservative. Не съм правил изследване, до каква икономия (за сметка на производителността, естествено) водят различните настройки. Командата, която използвах е modprobe cpufreq_ondemand. За да проверите наличните режими и честоти, използвайте командите:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors и
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

Добавяте:

“devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand” и
“devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand” в краят на файл /etc/sysfs.conf

В крайна сметка трябва да го докарате до нещо (същото е и за другият процесор), като:

/home/gerdjikov# cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz – 2.00 GHz
available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz
available cpufreq governors: conservative, ondemand, powersave, performance
current policy: frequency should be within 1000 MHz and 2.00 GHz.
The governor “ondemand” may decide which speed to use
within this range.
current CPU frequency is 1000 MHz (asserted by call to hardware).

Ако искате да “пришпорите” вашите CPU-та (заменяте “0” с “1” и повтяряте), може да изпълните следната команда:

echo performance | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Въпреки, че зареждането на драйвера cpufreq_performance беше неуспешно, то резултат все пак има.

/home/gerdjikov# cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz – 2.00 GHz
available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz
available cpufreq governors: conservative, ondemand, powersave, performance
current policy: frequency should be within 1000 MHz and 2.00 GHz.
The governor “performance” may decide which speed to use
within this range.
current CPU frequency is 2.00 GHz (asserted by call to hardware).

Честно си признавам, че доста неща не са ми ясни около управлението на процесора, но какво да се прави – по-скоро искам да наточа нещата, а разбирането го оставям за после (ако изобщо стане, де).

Накрая да не забравите да направите всичко “по-постоянно”, защото при следващият рестарт ще останете изненадан от резултата (по-точно от липсата на такъв по отношение на управлението на процесора). Добавяте драйверите за зареждане в /etc/modules или с текстов редактор или с командите:

echo acpi_cpufreq | sudo tee -a /etc/modules
echo cpufreq_ondemand | sudo tee -a /etc/modules

– забранявате стартирането на “powernowd”. Може да деинсталирате пакета, но по-добре просто забранете стартирането в началото на инициализацията. Примерно с “rcconf” и махате powernowd оттам.

В крайна сметка резултата от cat /proc/cpuinfo (и за двата процесора) е:

Преди:


model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
stepping : 6
cpu MHz : 1000.000
cache size : 4096 KB

и след инсталацията:


model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
stepping : 6
cpu MHz : 1997.341
cache size : 4096 KB

4. Режим на HDD-то в икономичен режим:

– редактирате /etc/default/acpi-support в края на файла
да стане “ENABLE_LAPTOP_MODE=true”.

5. Забрана на PCspeeker-a в конзолен режим. По принцип използвам стартиране без графика, затова ми беше изключително досадно да търпя “свиркането” на конзолата (сещате се, онзи пронизителен звук Ctrl-G). Най-брутално сложих драйвера за говорителя в “черният списък”:

sudo echo blacklist pcspkr >> /etc/modprobe.d/blacklist (това е за постоянно, ако желаете само временно отстраняване използвайте rmmod pcspkr)

Естествено, ако искате “по-нежен” подход може да използвате настройките на клавиатурният драйвер

xset b off xset b 0 0 0

Ако по някое време, ви дотрябва “свирка” 🙂 може да заредите отново драйвера с:

modprobe pcspkr

6. Wireless карта. И това не тръгна “от кутията”, но не създаде големи проблеми. Отново да напомня, Dell си правят експерименти с комплектацията на Latitude D620 (model PP18L) лаптопите, така че обърнете внимание, какво всъщност имате.

И така: трябва да имате пакетите module-assistant и build-essential (е ‘тва последното пък ако го нямате…!). Инсталирате firmware за този Broadcom:

apt-get install bcm43xx-fwcutter, при което стават разни “химии” из ядрото и в крайна сметка имате правилният драйвер. Това, което трябва да добавите е в мрежовият аплет да конфигурирате контролера (задавате ESSID, ако имате криптиране и т.н.)

Допълнително е добре да си инсталирате нещо с което да сканирате наличните мрежи. Аз предпочитам wifi-radar.

apt-get install wifi-radar. Интерфейсът е графичен, там просто ме е срам да обяснявам, какво да се прави – всичко е ясно.

Ако имате проблеми, може да преконфигурирате wifi-radar пакета (dpkg-reconfigure -p low wifi-radar). В моят случай всичко си тръгна без проблем. Ако пък си падате по по-задълбочени “анализи” на ефира, препоръчвам да си инсталиране пакета kismet.

apt-get install kismet. Какво всъщност е това “kismet”? Нищо повече от нашенското “късмет”. За това може да прочетете във FAQ-то на пакета:

Q: Where did the name Kismet come from?
A: The word itself means Fate or Destiny.  While I wish I could make up
some smart comment about picking it because Kismet will ultimately
uncover every active wireless network in the area, really I just needed
a name and was clicking through a thesaurus and liked the sound.

Конфигурационният файл се намира в /etc/kismet/kismet.conf. За щастие, Broadcom чипсета се поддържа “от воле” в Kismet, затова единственото нещо, което трябва да напишете там е в секцията sources:

# Sources are defined as:
# source=sourcetype,interface,name[,initialchannel]
# Source types and required drivers are listed in the README under the
# CAPTURE SOURCES section.
# The initial channel is optional, if hopping is not enabled it can be used
# to set the channel the interface listens on.
# YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE
source=bcm43xx,eth1,eth1

7. Малко глезотии. Конфигурирах си малко по-красив Grub loader, по-специално използвах лого-то на Dell от виндоз дистрибуцията. Хавиер Родригес е свършил страхотна работа с това лого, затова и аз го използвах на готово. Може да го свалите от тук. Трябва да добавите в /boot/groub/menu.lst командата:

splashimage=(hd0,2)/boot/grub/splashimages/dell.xpm.gz

Имайте в предвид, че при мен виндоз дялът е втори (първи е Dell специалният дял), затова и мястото на което съм записал картинката е (hd0,2), т.е. това е /dev/sda3

8. ACPI Suspend и Hibernate. По принцип, всичко би трябвало да е наред, но при “нормалната” инсталация на Ubuntu, преминавайки в режим Suspend (или Hibernate), след това нищо не можеше да събуди лаптопа. Все едно си е умрял. Неприятна ситуация, защото дори и при затваряне на капака, машината просто заспиваше непробудно. Със следните заклинания, може да оправите този проблем

– преинсталирате (просто за всеки случай) поддръжката на ACPI-то.

sudo apt-get –reinstall install acpi-support

След това в /etc/default/acpi-support променяте:

HIBERNATE_MODE=platform
SAVE_VIDEO_PCI_STATE=true

POST_VIDEO=false

.