HP Pavilion dv6748us - HOWTO

Archiwalne, stare wpisy FAQ i HowTo Użytkowników
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

HP Pavilion dv6748us - HOWTO

Post autor: przemnet »

Witam!

Mój laptop to HP Pavilion dv6748us (wskazówki tu zawarte mogą być przydatne także do innych modeli z serii dv6700 lub podobnych z procesorami AMD Turion), na którym zainstalowałem wersję testing Debiana (stabilna netinstall nie chciała się zainstalować z powodu braku sterowników do karty sieciowej...). Zdecydowałem się napisać tego posta, ponieważ trochę czasu musiałem poświęcić na przystosowywanie go do współpracy z Debianem, a że wszystko zapisywałem co i jak robić, doszedłem do wniosku, że podzielę się tym z innymi na forum. Opiszę tu 3 rzeczy, nad którymi należy popracować, aby w pełni można się było cieszyć z Debiana. A więc po kolei.

Polecenia poprzedzone znakiem $ wykonuje się jako zwykły użytkownik, natomiast polecenia po znaku # jako root (polecenie: $ su).

1. Karta sieciowa nVidia MCP67 ($ lspci | grep Ethernet):

Kod: Zaznacz cały

00:0a.0 Ethernet controller: nVidia Corporation MCP67 Ethernet (rev a2)
Problem z tą kartą polega na tym, że system nieprawidłowo odczytuje jej adres MAC i za każdym razem podczas startu tworzy nowy interfejs sieciowy, i tak po 10 restartach mamy po kolei eth1, eth2,... eth10. Od razu dodam, że wpis typu:

Kod: Zaznacz cały

allow-hotplug eth0
iface eth0 inet dhcp
hwaddress ether 00:1e:68:07:b5:af
auto eth0
w pliku /etc/network/interfaces nie pomaga. Za każdym razem dane o nowym interfejsie zapisywane są do pliku /etc/udev/rules.d/z25_persistent-net.rules. Po jego usunięciu, utworzeniu na nowo i restarcie systemu wszystko jest w porządku. ¯eby nie robić tego za każdym razem, należy utworzyć skrypt o podanej zawartości i uruchamiać go przy starcie systemu (jak to zrobić opisane jest w jego treści):

Kod: Zaznacz cały

#!/bin/sh

#***Uruchamianie skryptów podczas startu systemu:***
#1. Skopiować skrypt do katalogu init.d: 	# cp moj_skrypt /etc/init.d/
#2. Nadać prawa do wykonywania: 		# chmod +x /etc/init.d/moj_skrypt
#3. Stworzyć dowiązania: 			# update-rc.d /etc/init.d/moj_skrypt defaults

rm /etc/udev/rules.d/z25_persistent-net.rules
touch /etc/udev/rules.d/z25_persistent-net.rules
Wadą tego rozwiązania jest to, że jeśli nie mamy podłączonego kabla sieciowego, to przy starcie, system może (ale niekoniecznie) próbować przez dłuższy czas wysyłać pakiety DHCPDISCOVER. Wtedy należy wcisnąć Ctrl + C i system dalej będzie się uruchamiał normalnie. Po za tym, jeśli przy starcie systemu nie podłączymy kabla sieciowego, to musimy zrestartować system, aby mieć połączenie z siecią po jego podłączeniu... Nie jest to zapewne eleganckie rozwiązanie, ale za to proste i skuteczne.

2. Karta wi-fi Broadcom BCM4328 ($ lspci | grep Network):

Kod: Zaznacz cały

03:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)
Na dzień dzisiejszy (kwiecień 2008) model ten nie jest jeszcze wspierany przez sterowniki linuksowe. Niby powinno być łatwo zainstalować przez ndiswrappera sterowniki z Visty i powinno działać. ALE... Po pierwsze po zainstalowaniu ndiswrappera z repozytoriów podczas instalacji pojawiają się błędy (trzeba skompilować źródła), a po drugie sterowniki ze strony HP nie działają --- trzeba pożyczyć od konkurencji (ze strony DELL'a). A zatem do dzieła.

Do kompilacji ze źródeł ndiswrapper'a potrzebne będą linux-headers oraz parę innych pakietów:

Kod: Zaznacz cały

# aptitude update
# aptitude install linux-headers-$(uname -r)				// uname -r sprawdza wersje jądra do którego maja być zainstalowane nagłówki
# aptitude install dh-make fakeroot gcc-3.4 build-essential		// pozostałe pakiety potrzebne do kompilacji ndiswrapper'a
Następnie należy pobrać pliki źródłowe ndiswrapper'a wersji stabilnej ze strony: http://sourceforge.net/projects/ndiswrapper/. Należy zapisać plik .tar.gz na dysk, rozpakować go, wejść do rozpakowanego katalogu, ewentualnie pozbyć się poprzednich wersji, skompilować i zainstalować:

Kod: Zaznacz cały

$ tar xzvf ndiswrapper-1.52.tar.gz
$ cd ndiswrapper-1.52
$ make distclean clean
$ make
# make install
Po zainstalowaniu ndiswrapper'a należy pobrać plik ze sterownikami ze strony DELLa... http://ftp.us.dell.com/network/R151517.EXE. Plik do zainstalowania pobrany ze strony DELLa nazywa się ''bcmwl5.inf''. Aby dostać się do tego pliku, należy rozpakować ściągnięty plik EXE (polecenie unzip jest dostępne po zainstalowaniu pakietu o tej samej nazwie):

Kod: Zaznacz cały

$ wget [url]http://ftp.us.dell.com/network/R151517.EXE[/url]
$ mkdir dell_driver
$ unzip -a R151517.EXE -d dell_driver/
$ cd dell_driver/DRIVER/
# ndiswrapper -i bcmwl5.inf
# ndiswrapper -l				// opcjonalne- sprawdza, czy sterownik został zainstalowany
# ndiswrapper -m
# modprobe ndiswrapper
W tym momencie, po przesunięciu suwaka włączającego kartę wi-fi, dioda obok powinna zmienić kolor z pomarańczowego na niebieski. Jeśli po restarcie systemu, po włączeniu suwaka dioda nie będzie się świeciła na niebiesko, należy powtórzyć polecenie:

Kod: Zaznacz cały

# modprobe ndiswrapper
Aby nie wykonywać tego za każdym razem, należy dodać tą linijkę:

Kod: Zaznacz cały

modprobe ndiswrapper
do skryptu uruchamianego podczas startu systemu, czyli np.: dopisać ją do skryptu naprawiającego kartę sieciową ethernetową (punkt 1.) lub stworzyć nowy skrypt i uruchamiać go podczas startu systemu (co i jak opisane w pukcie 1.).

Do zarządzania kartą sieciową wi-fi polecam pakiet wlassistant, który można pobrać stąd (niestety w wersji testing go nie ma, trzeba pobrać wersję dla Sida --- działa bez zarzutu).
http://packages.debian.org/sid/wlassistant

3. Karta dźwiękowa nVidia MCP67 ($ lspci | grep Audio):

Kod: Zaznacz cały

00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio (rev a1)
Na deser, karta dźwiękowa. Po instalacji alsy z repozytoriów, dźwięk w laptopie działa. ALE po włożeniu słuchawek głośniki nie wyciszają się... Standardowy wpis:

Kod: Zaznacz cały

options snd-hda-intel model=MODEL
w plikach /etc/modprobe.d/alsa-base i/lub /etc/modprobe.d/sound nie rozwiązywał problemu. Aby to naprawić należy skompilować alsę ze źródeł, lekko modyfikując jeden z plików źródłowych. No to do roboty.

Na początek należy odisntalować alsę dostępną z repozytoriów (jeśli ktoś taką instalował oczywiście):

Kod: Zaznacz cały

# aptitude purge alsa-base
# aptitude purge alsa-utils
Potem sprawdzamy jaki mamy Subsystem Id:

Kod: Zaznacz cały

$ cat /proc/asound/card0/codec#0 | grep Subsystem
Mój wynik to:

Kod: Zaznacz cały

Subsystem Id: 0x103c30cf
Następnie odwiedzamy stronę alsy http://www.alsa-project.org/main/index.php/Main_Page i pobieramy alsa-driver-1.0.16 (piszę akurat o tej wersji, która teraz jest dostępna --- może w przyszłych już tego problemu nie będzie). Tworzymy katalog /usr/src/alsa, kopiujemy tam pobrany plik, przechodzimy do tego katalogu, rozpakowujemy plik i modyfikujemy plik alsa-driver-1.0.16/alsa-kernel/pci/hdapatch_conexant.c, a więc:

Kod: Zaznacz cały

# mkdir /usr/src/alsa
# cp alsa-driver-1.0.16.tar.bz2 /usr/src/alsa
# cd /usr/src/alsa
# tar xjvf alsa-driver-1.0.16.tar.bz2
# nano alsa-driver-1.0.16/alsa-kernel/pci/hda/patch_conexant.c
Około linijki 860 będzie parę linijek tego typu (lub podobnych):

Kod: Zaznacz cały

SND_PCI_QUIRK(0x103c, 0x30a5, "HP", CXT5045_LAPTOP_HPSENSE),
Należy dopisać jedną własną, analogiczną do powyższej, dopisując swój model laptopa oraz wstawiając swój Subsystem ID w odpowiedni sposób tak jak np.: u mnie (raczej nie ma to znaczenia, ale na wszelki wypadek dałem swoją linijkę na początku definicji struktury):

Kod: Zaznacz cały

SND_PCI_QUIRK(0x103c, 0x30cf, "HP DV6748us", CXT5045_LAPTOP_HPSENSE),
Dalej, udajemy się do odpowiedniego katalogu i kompilujemy alsę z odpowiednimi parametrami:

Kod: Zaznacz cały

# cd /usr/src/alsa/alsa-driver-1.0.16
# ./configure --prefix=/usr --with-cards=hda-intel --with-card-options=hda-codec-conexant
# make
# make install
W tym momencie powinniśmy zrestartować nasz system. Po restarcie należy odinstalować i zainstalować z odpowiednimi opcjami moduł snd-hda-intel (przed jego usunięciem należy zakończyć wszelkie procesy związane z dźwiękiem):

Kod: Zaznacz cały

# lsof /dev/snd/*
# kill NUMER_PROCESU (numer w kolumnie PID)
# rmmod snd-hda-intel
# modprobe snd-hda-intel model=laptop
Po instalacji alsy, miksery są wyciszone, więc aby mieć dźwięk należy pobawić się mikserami. W KDE (jeśli ktoś jeszcze czegoś takiego nie ma) będzie to kmix, w GNOME zapewne jakiś podobny:

Kod: Zaznacz cały

# aptitude update
# aptitude install kmix
Po za wyjściem ''Master'' trzeba ustawić na maksymalną wartość także ''PCM''. Od teraz po podłączeniu słuchawek dźwięk w głośnikach będzie się wyciszał. PRAWIE wszystko jest już dobrze, ponieważ teraz nie działa mnie tylko jeszcze wbudowany mikrofon, ale za to ten od słuchawek działa w porządku, a o to mnie chodziło.

Prawdopodobnie w przyszłości te problemy znikną (oby!), ale póki co trzeba z nimi walczyć, mam nadzieję, że komuś się to przyda.

Pozdrawiam,
Przemek.

P.S. Jakby ktoś chciał zainstalować Windowsa XP na sprzęcie tego typu, to polecam stronkę: http://www.fastfs.com/help_pages/hp%20downgrade.htm
gdyż niestety sterowników pod ten system na stronie producenta brak...
Bodzio
Junior Member
Posty: 599
Rejestracja: 26 grudnia 2007, 18:35

Post autor: Bodzio »

Co do karty Ethernet, miałem identyczny problem. Jak dobrze pamiętam na 9, czy 11 kompów - zadziałało na trzech. Poczytaj >>ten wątek<<
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

Post autor: przemnet »

Bodzio pisze:Co do karty Ethernet, miałem identyczny problem. Jak dobrze pamiętam na 9, czy 11 kompów - zadziałało na trzech. Poczytaj >>ten wątek<<
Oj czytałem, czytałem ten wątek i inne linki tam podane zanim rozwiązałem problem po swojemu (w sumie to on właśnie naprowadził mnie na kombinacje z plikiem /etc/udev/rules.d/z25_persistent-net.rules ). Tamte wskazówki czyli m.in. napisanie skryptu, który przy starcie systemu zmienia adres mac za pomocą komend

Kod: Zaznacz cały

ifconfig eth0 down
ifconfig eth0 hw ether  numerek
ifconfig eth0 up
nie było skuteczne, ponieważ przed uruchomieniem tego typu skryptu już był utworzony kolejny interfejs ethX i aby to zadziałało trzeba było w pliku /etc/network/interfaces oraz skrypcie zmienić eth0 na ethX. Więc trochę więcej roboty i zamiast eth0, byłoby ethX, a tak to po kłopocie i jest eth0 ;-) Można powyższe 3 linijki (oraz ewentualnie linijkę restartującą sieć po zmianie adresu tj. /etc/init.d/networking restart) dorzucić na koniec skryptu który podałem w punkcie pierwszym, jeśli komuś zależy na właściwym adresie mac karty (np. filtracja przez dostawce internetu czy coś).

Pozdrawiam,
Przemek.
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Re: HP Pavilion dv6748us - HOWTO

Post autor: piroaa »

przemnet pisze: Po za tym, jeśli przy starcie systemu nie podłączymy kabla sieciowego, to musimy zrestartować system, aby mieć połączenie z siecią po jego podłączeniu... Nie jest to zapewne eleganckie rozwiązanie, ale za to proste i skuteczne.
po podłączeniu kabla wydaj polecenie

Kod: Zaznacz cały

pump
co spowoduje ponowne pobranie danych z serwera DHCP, według mnie powinno zadziałać.
galek
Posty: 2
Rejestracja: 28 kwietnia 2008, 20:09

Post autor: galek »

Kod: Zaznacz cały

Na dzień dzisiejszy (kwiecień 2008) model ten nie jest jeszcze wspierany przez sterowniki linuksowe. Niby powinno być łatwo zainstalować przez ndiswrappera sterowniki z Visty i powinno działać. ALE... 
ale sie troche mylisz....
jezeli chodzi o instalacje to przy net install mialem problemy ale przy pelnym wyadniu tj pierwszej cd 6xx mb nie bylo problemu. instalator rozpoznaje wifi i lan. mam i jedno i drugie dlatego dla mnie nie bylo roznicy. wybralem wifi lecz nie chcial odpalic przez dhcp. zainstalowalem przez lan bez problemu. po instalacji wszystko smiga ok. kazdy podzespol jest rozpoznawany bez problemow. wracajac do sieci. sterowniki do wifi sa zawarte w kernelu o ile pamietma od wersji 2.6.18 albo 20.. w kazdym razie nie ma problemu z ich odpaleniem. problem zaczyna sie przy podnoszeniu interfejsu. eth1 (wifi) nie moze zostac podniesiony z braku kilku plikow firmware. mozna je znalezc w sieci bez wiekszych problemow. jakie to pliki dowiecie sie po "ifconfig eth0 up ;) .
w razie problemow moge je udostepnic. wystarczy je wrzucic do /lib/firmware/ i wifi smiga jak ta lala.
w kazdym razie mozna olac ndiswrappera/
pozdro
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

Re: HP Pavilion dv6748us - HOWTO

Post autor: przemnet »

piroaa pisze:po podłączeniu kabla wydaj polecenie

Kod: Zaznacz cały

pump
co spowoduje ponowne pobranie danych z serwera DHCP, według mnie powinno zadziałać.
Kurcze- podpowiedź wydaje się bardzo trafna, tyle, ze niestety nie mam polecenia pump- ciekawe jakiego pakietu mi brakuje ]galek[/b], może masz model BCM4318 do którego ponoć faktycznie są sterowniki, teraz pod nazwą b43, dawniej bcm43xx- niestety mój model (BCM4328) dalej figuruje w sekcji "unsupported"... A jeśli się mylę, to nie pozostaje nic innego jak tylko się cieszyć, że wszystko działa jak należy :mrgreen:

Pozdrawiam!
galek
Posty: 2
Rejestracja: 28 kwietnia 2008, 20:09

Post autor: galek »

sterowniki sa tylko trzeba je aktywowac zaznaczajac inne opcje w kernelu ;)

Kod: Zaznacz cały

Networking -->

     <M>   Generic IEEE 802.11 Networking Stack

     [*]     Enable full debugging output

     <M>     IEEE 802.11 WEP encryption (802.1x)

     <M>     IEEE 802.11i CCMP support

     <M>     IEEE 802.11i TKIP encryption

     <M>     Software MAC add-on to the IEEE 802.11 networking stack

     [*]       Enable full debugging output



Device Drivers --> Network device support --> Wireless LAN drivers (non-hamradio) & Wireless Extensions

     <M>   Broadcom BCM43xx wireless support

     [*]     Broadcom BCM43xx debugging (RECOMMENDED)  
wydaje mi sie ze w serii 6xxx z procesorami turion wszystkie podzespoly sa te same i roznia sie tylko np wielkoscia pamieci czy rozmiarem dysku, chociaz moge sie mylic. w kazdym razie karta wifi jest obslugiwana i wszystkie inne ktore sa na tym czipsecie oparte tez rzecz jasna beda ;) odpal te opcje w kernelu sciagnij firmware i po sprawie ;)
firmware jest w archwium bcm43xx-0.3.2-offline.tar.gz w katalogu bcm43xx.

wracajac do instalatorow. mialem wczesniej jakiegos netinstall ktory wykrywal mi lan ale nie potrafil sie polaczyc przez dhcp. nie wiem, moze jakas nowsza wersja jest juz poprawiona. w kazdym razie zainstalowanie systemu z 1cd jest bezproblemowe tzn wystepuja pewne bledy przy jednoczesnej instalacji pakietow z kategorii "laptop" i "system podstawowy" wiec trzeba zainstalowac najpierw jedno pozniej drugie. przy instalacji systemu podstawowego zatrzymywalo sie na instalacji dhcp3-common czy cos kolo tego. wystarczylo zabic odpowiedni proces apt'a i szlo dalej.
mi wszystko smiga bez broblemow. jedyne co musialem poprawiac to ten firmware ktorego brakowalo i dzwiek ktory nie przelaczal sie na sluchawki. reszta jak najbardziej dziala.
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

co prawda poradnik dotyczy gento ale myślę że w Debianie powinno to wyglądać podobnie :
http://www.gentoo.org/doc/pl/handbook/h ... t=4&chap=3
Zablokowany