/var/log/life.log
Блог программиста из солнечной Бурятии

исходники freebsd под виндой

Понадобились тут исходники FreeBSD одной девушке. А где их взять, ясен пень на установочном диске. в папке src обнаружились файлы вида s*.?? открыв фал install.sh стало понятно что это архивы разбитые на части, судя по размеру, чтобы на дискетку влезали(всего то 90 дискеток надо (: ). На сколько я помнил, WinRar справляется с tar.gz, но консольный rar что-то отказался распаковывать что либо кроме rar, зато гуишный рар принимал данные из командной строки и прекрасно распаковывал. Оставалось только собрать разбитый архив воедино, и как ни странно copy справилась с этим без каких либо проблем в итоге был написан extract.bat, практически аналогичный install.sh:
Читать полностью »

звук в колонках и наушниках

Вот такая вот фигня, захотел фильм посмотреть, воткнул наушники запустил xine, а мне кричат, звук выключи, я снимаю наушники, а звук то и из колонок идёт, поискал в инете, спросил на форуме, посоветовали в рассылке поискать если нету, то туда написать. Там был вопрос годичной давности и Ariff челу специально дописывал /usr/src/sys/dev/sound/pci/hda/hdac.c и давал ему, так что кроме изменения hdac.c ничто не поможет как я понял, написал аналогичный вопрос, но пока ответ не пришёл, решил заглянуть, а что там такого интересного то? Как оказалось ничего страшного там нет) нашёл объявления констант с именами моделей, нашёл и для ACER :

1
2
3
4
5
6
#define ACER_VENDORID 0x1025
#define ACER_A5050_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x010f)
#define ACER_A4520_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0127)
#define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f)
#define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110)
#define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff)

ну я добавил строку

1
#define ACER_E5220_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011f)

0x011f взято из типа катры

1
2
3
4
# pciconf -lv| grep -A2 pcm
pcm0@pci0:0:27:0: class=0x040300 card=0x011f1025 chip=0x284b8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H &SUBSYS_81EC1043&REV_02\3&11583659&0&D8'

потом поискал где используются эти константы, оказывается только в одном месте

в роне 690 строки, для всех асеров строки одинаковые, значит добавляем такуюже для только что созданой константы

1
{ ACER_E5220_SUBVENDOR, HDA_CODEC_ALC268, HDAC_HP_SWITCH_CTL,0, 0, -1, 20, { 21, -1 }, -1 },

 сохраняем, и компилим всё это дело

1
2
3
# cd /usr/src/sys/modules/sound/; make clean cleandir; make && make install
# kldunload snd_hda
# kldload snd_hda

Вот и всё, у меня заработало)

Свершилось

Первый пост из-под FreeBSD) так то инет настроил я давно, но случилось несчастье, у меня сгорела материнка на основном компе Socket 478 , пошёл искать в магазины в одном говорят бывает, но сейчас нету, в других под корпус неподходит, в одном вообще посмеялись сказав ненайдёте, хотя по соседству стоит магазин и в нём есть, но почему то показалось дорого там. Так вот пароль к блогу был созранён только в IE, opera к сожалению не может совладать с гуглом, а до огнелиса руки не дошли, благо что огнелис понимает гугл, иначеб я тут не писал, в следствии чего востановить пароль руки дошли только сейчас. Вообщето то, что сгорела мать нельзя считать плохой новостью, т.к. теперь я "вынужден" сидеть на ноуте под FreeBSD.
Была идея запостить конфиг ядра, но вспомнив что как-то коряво он формируется, мне стало лень, лучше ща сделаю блок ссылок очень полезный сайтов которыми мне пришлось пользоваться, их не так уж и много, пока.

Поправка

В FreeBSD 7.0 модуль для hda уже есть, так что ни в коем случае не устанавливайте на 7.0 модуль указаный в первом сообщении, kde кстати стала медленнее грузится, зато расрешение нормальное стало.

встречайте FreeBSD 7.0

Поставил FreeBSD 7.0, изменения на лицо:
pciconf -lv
до:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
hostb0@pci0:0:0: class=0x060000 card=0x011f1025 chip=0x2a008086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = bridge
subclass = HOST-PCI
none0@pci0:2:0: class=0x030000
card=0x011f1025
chip=0x2a028086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = display
subclass = VGA
none1@pci0:2:1: class=0x038000 card=0x011f1025 chip=0x2a038086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = display
uhci0@pci0:26:0: class=0x0c0300 card=0x011f1025 chip=0x28348086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
uhci1@pci0:26:1: class=0x0c0300 card=0x011f1025 chip=0x28358086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
ehci0@pci0:26:7: class=0x0c0320 card=0x011f1025 chip=0x283a8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
none2@pci0:27:0: class=0x040300 card=0x011f1025 chip=0x284b8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = multimedia
pcib1@pci0:28:0: class=0x060400 card=0x00000040 chip=0x283f8086 rev=0x03 hdr=0x01
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
pcib2@pci0:28:1: class=0x060400 card=0x00000040 chip=0x28418086 rev=0x03 hdr=0x01
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
pcib3@pci0:28:2: class=0x060400 card=0x00000040 chip=0x28438086 rev=0x03 hdr=0x01
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
uhci2@pci0:29:0: class=0x0c0300 card=0x011f1025 chip=0x28308086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
uhci3@pci0:29:1: class=0x0c0300 card=0x011f1025 chip=0x28318086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
uhci4@pci0:29:2: class=0x0c0300 card=0x011f1025 chip=0x28328086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
ehci1@pci0:29:7: class=0x0c0320 card=0x011f1025 chip=0x28368086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = USB
pcib4@pci0:30:0: class=0x060401 card=0x00000050 chip=0x24488086 rev=0xf3 hdr=0x01
vendor = 'Intel Corporation'
device = '82801BAM/CAM/DBM (ICH2-M/3-M/4-M) Hub Interface to PCI Bridge'
class = bridge
subclass = PCI-PCI
isab0@pci0:31:0: class=0x060100 card=0x011f1025 chip=0x28158086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-ISA
atapci0@pci0:31:1: class=0x01018a card=0x011f1025 chip=0x28508086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = mass storage
subclass = ATA
atapci1@pci0:31:2: class=0x01018f card=0x011f1025 chip=0x28288086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = mass storage
subclass = ATA
none3@pci0:31:3: class=0x0c0500 card=0x011f1025 chip=0x283e8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = SMBus
none4@pci2:0:0: class=0x020000 card=0x011c1025 chip=0x169314e4 rev=0x02 hdr=0x00
vendor = 'Broadcom Corporation'
class = network
subclass = ethernet
none5@pci4:0:0: class=0x028000 card=0x04221468 chip=0x431114e4 rev=0x01 hdr=0x00
vendor = 'Broadcom Corporation'
class = network
cbb0@pci15:6:0: class=0x060700 card=0x011f1025 chip=0x8039104c rev=0x00 hdr=0x02
vendor = 'Texas Instruments (TI)'
class = bridge
subclass = PCI-CardBus
fwohci0@pci15:6:1: class=0x0c0010 card=0x011f1025 chip=0x803a104c rev=0x00 hdr=0x00
vendor = 'Texas Instruments (TI)'
class = serial bus
subclass = FireWire
none6@pci15:6:2: class=0x018000 card=0x011f1025 chip=0x803b104c rev=0x00 hdr=0x00
vendor = 'Texas Instruments (TI)'
class = mass storage
none7@pci15:6:3: class=0x080500 card=0x011f1025 chip=0x803c104c rev=0x00 hdr=0x00
vendor = 'Texas Instruments (TI)'
class = base peripheral

после:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
hostb0@pci0:0:0:0: class=0x060000 card=0x011f1025 chip=0x2a008086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = 'Mobile PM965/GM965/GL960 Express Processor to DRAM Controller'
class = bridge
subclass =HOST-PCI
vgapci0@pci0:0:2:0: class=0x030000 card=0x011f1025 chip=0x2a028086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = 'Mobile 965 Express Integrated Graphics Controller'
class = display
subclass = VGA
vgapci1@pci0:0:2:1: class=0x038000 card=0x011f1025 chip=0x2a038086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = 'Mobile 965 Express Integrated Graphics Controller'
class = display
uhci0@pci0:0:26:0: class=0x0c0300 card=0x011f1025 chip=0x28348086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) USB UHCI'
class = serial bus
subclass = USB
uhci1@pci0:0:26:1: class=0x0c0300 card=0x011f1025 chip=0x28358086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) USB UHCI'
class = serial bus
subclass = USB
ehci0@pci0:0:26:7: class=0x0c0320 card=0x011f1025 chip=0x283a8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '81EC1043 (?) ICH8 Enhanced USB2 Enhanced Host Controller'
class = serial bus
subclass = USB
none0@pci0:0:27:0: class=0x040300 card=0x011f1025 chip=0x284b8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H &SUBSYS_81EC1043&REV_02\3&11583659&0&D8'
class = multimedia
pcib1@pci0:0:28:0: class=0x060400 card=0x011f1025 chip=0x283f8086 rev=0x03 hdr=0x01
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) PCIe Port 1'
class = bridge
subclass = PCI-PCI
pcib2@pci0:0:28:1: class=0x060400 card=0x011f1025 chip=0x28418086 rev=0x03 hdr=0x01
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) PCIe Port 2'
class = bridge
subclass = PCI-PCI
pcib3@pci0:0:28:2: class=0x060400 card=0x011f1025 chip=0x28438086 rev=0x03 hdr=0x01
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) PCIe Port 3'
class = bridge
subclass = PCI-PCI
uhci2@pci0:0:29:0: class=0x0c0300 card=0x011f1025 chip=0x28308086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) USB UHCI'
class = serial bus
subclass = USB
uhci3@pci0:0:29:1: class=0x0c0300 card=0x011f1025 chip=0x28318086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) USB UHCI'
class = serial bus
subclass = USB
uhci4@pci0:0:29:2: class=0x0c0300 card=0x011f1025 chip=0x28328086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) USB UHCI'
class = serial bus
subclass = USB
ehci1@pci0:0:29:7: class=0x0c0320 card=0x011f1025 chip=0x28368086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) USB2 EHCI'
class = serial bus
subclass = USB
pcib4@pci0:0:30:0: class=0x060401 card=0x00000000 chip=0x24488086 rev=0xf3 hdr=0x01
vendor = 'Intel Corporation'
device = '82801BAM/CAM/DBM (ICH2-M/3-M/4-M) Hub Interface to PCI Bridge'
class = bridge subclass = PCI-PCI
isab0@pci0:0:31:0: class=0x060100 card=0x011f1025 chip=0x28158086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = 'ICH8M-E (ICH8 Family) LPC Interface Controller'
class = bridge
subclass = PCI-ISAatapci0@pci0:0:31:1: class=0x01018a card=0x011f1025 chip=0x28508086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) Ultra ATA Storage Controllers'
class = mass storage
subclass = ATA
atapci1@pci0:0:31:2: class=0x01018f card=0x011f1025 chip=0x28288086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = 'ICH8M (ICH8 Family) 3 port SATA Controller'
class = mass storage
subclass = ATA
none1@pci0:0:31:3: class=0x0c0500 card=0x011f1025 chip=0x283e8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82801H (ICH8 Family) SMBus Controller'
class = serial bus
subclass = SMBus
bge0@pci0:2:0:0: class=0x020000 card=0x011c1025 chip=0x169314e4 rev=0x02 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'BCM 5787A Ethernet Controller Broadcom Netlink Gigabit'
class = network
subclass = ethernet
none2@pci0:4:0:0: class=0x028000 card=0x04221468 chip=0x431114e4 rev=0x01 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'Dell Wireless 1390 WLAN Mini-PCI Card'
class = network
cbb0@pci0:15:6:0: class=0x060700 card=0x011f1025 chip=0x8039104c rev=0x00 hdr=0x02
vendor = 'Texas Instruments (TI)'
device = 'PCIxx12 Cardbus Controller'
class = bridge
subclass = PCI-CardBus
fwohci0@pci0:15:6:1: class=0x0c0010 card=0x011f1025 chip=0x803a104c rev=0x00 hdr=0x00
vendor = 'Texas Instruments (TI)'
device = '??? OHCI Compliant IEEE 1394 Host controller'
class = serial bus
subclass = FireWire
none3@pci0:15:6:2: class=0x018000 card=0x011f1025 chip=0x803b104c rev=0x00 hdr=0x00
vendor = 'Texas Instruments (TI)'
device = 'PCIxx12 Integrated Flash Media Controller'
class = mass storage
none4@pci0:15:6:3: class=0x080500 card=0x011f1025 chip=0x803c104c rev=0x00 hdr=0x00
vendor = 'Texas Instruments (TI)'
device = 'PCIxx12 SDA Standard Compliant SD Host Controller'
class = base peripheral

т.е. видеокарта и сетевая опредились, для звуковухи ничего не нашлось, но у меня уже есть решение,
остались неопределёнными 82801H (ICH8 Family) SMBus Controller, Dell Wireless 1390 WLAN Mini-PCI Card, PCIxx12 Integrated Flash Media Controller, PCIxx12 SDA Standard Compliant SD Host Controller точнее дров нету, будем искать.

Начало

Прикупил себе ноут Acer Extensa 5220, естественно на нём была предустановлена Виста. Ну что было того уже нет), давно я хотел поставить FreeBSD, но не было времени, а тут и время и ноут, вобщем эксперименты начались).
Перед началом экспериментов всё думал как в случае неудачных экспериментов востановить всё "как было", в утилите идущей от асера так и не понял какой пункт за что отвечает, но сделал бэкап, потом подумал о ненадёжности этих утилит и забэкапил весь хард с помощью нортон гост получилось 3 двд, хотя на последнюю мегабайтов 100 всего напиталось.
Под рукой оказалась только FreeBSD 6.1, поставилось всё без эксцесов. Естественно я подозревал что будут проблемы с железом, вот они и появилсь.
Буду теперь писать тут о проблемах, и попытках удачных и не очень их решений.
Звук
Вот она первая проблема с которой мне пришлось столкнутся, что ж её мне помогли решить на http://www.bsdportal.ru , за что им большое спасибо.
Вот то что pciconf -lv выдал по поводу звука:
none2@pci0:27:0: class=0x040300 card=0x011f1025 chip=0x284b8086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' class = multimedia
вообще решение тут http://people.freebsd.org/~ariff/lowlatency/broadcom-4311-driver качаем, читаем ридми ставим, и правим потом /boot/defaults/loader.conf:
snd_hda_load="YES"

shutdown -r now
и радуемся звуку)

Сеть
Второй "сюрприз" это сетевая, хотел к нету подрубиться, да обновиться, но не тут то было, FreeBSD не видит сетевую NetLink BCM5787M Gigabit Ethernet PCI Express
как сказали её поддержка есть в 6.3 и 7.0, вот теперь сижу выкачиваю 7.0 буду переставлять.

Ps: пишу я это всё для себя), чтоб потом не забыть что делать)

Upd: т.к. тут то я могу файлы заливать, то добавлю драйер для wifi который через nids устанавливать надо, сам не пробовал т.к. и потестить то негде, но человек давший его поднимал wifi broadcom-4311-driver.

ы оказывается я первый пост в блоге про FreeBSD сделал 1 января))