Re: PCMCIA CB1410, linux

Aleksei66

и так - может кто настраивал сабжевый контроллер в линуксе.
имеем - ноут с PCMCIA, который значится в lspci как EnE CB1410
карточку - не суть важно какую, важно что модули для нее устроены так, что ищут устройство на pci шине
ядро 2.6.7
подгружены модули pcmcia_core yenta_socket ds
втыкаем карточку -
на шине pci новых устройств не появилось(lspci)
через cardctl status видим новое устройство, которое значиться как cardbus
вопросы
1. правильно ли я понимаю, что устройства cardbus должны мапится в pci (модули ядра могут)?
2. если это не происходит сразу, то куда стоит копать? как сделать так, что бы устройство pcmcia мапилось на pci?
3. может еще что-то подгрузить надо для работы нормальной?

Aleksei66

хорошо
man pcmcia_core дало:


cb_mem_base=n
Sets the base address to use for memory mapping CardBus bridge registers. By default, bridges that are not already initialized by the PCI BIOS will be mapped at 0x68000000. If this parameter is set, then this value will override any existing mappings.
cb_bus_base=n
Specifies that PCI bus numbers for CardBus busses should be renumbered starting with this value. By default, bus values that are uninitialized at boot time will be numbered starting with bus 0x20.
cb_bus_step=n
Specifies the number of bus slots to reserve for secondary PCI busses, for each CardBus socket, when busses are renumbered. The default is 2.
cb_pci_irq=n
Specifies an interrupt number 1..15 to be assigned to any CardBus bridge whose PCI interrupt was not set by the BIOS. The default is to pick an interrupt based on the BIOS PCI Interrupt Routing table only when the table is unambiguous.

интересуют методы узнавания правильных данных значений

Aleksei66

ладно, с cb_bus_step cb_bus_base все понятно - осталось
cb_mem_base
cb_pci_irq

Aleksei66

некоторые пометки
лог ядра
Yenta: CardBus bridge found at 0000:00:0a.0 [1019:b550]
Yenta: adjusting diagnostic: 40 -> 60
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:0a.0, mfunc 0x000c1002, devctl 0x44
Yenta: ISA IRQ mask 0x0080, PCI irq 11
Socket status: 30000020
cs: IO port probe 0xfd00-0xfdff: clean.
cs: IO port probe 0xfe00-0xfeff: clean.
[lfs pcmcia]# cardctl info
PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255
[lfs pcmcia]# cardctl status
Socket 0:
3.3V CardBus card
function 0: [ready]
[lfs pcmcia]# cardctl ident
Socket 0:
no product info available
[lfs pcmcia]# lspci
---
00:0a.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller
----

sergey_m

[ этот пост злой оффтопик, он сделан просто для того, что бы бесить Кирю ]
К вопросу о поддержке железа: pccbb(4).

Aleksei66

и что?
контроллер давно поддерживается ядром
возможно
1. у меня руки оказались кривые
2. я действительно что-то пропустил при переходе на 2.6.x -- в 2.4.х все работало...
а вот поддержки железяки которую прийдется дальше настраивать во фре пока нет - разработчики обещали на конец сентября - октябрь :P
в линуксе мне во многом удобнее, хотя фрю считаю более устойчивой

sergey_m

возвращайся на 2.4.x и не парься тогда

Aleksei66

ломает - у меня ядро мною по многим местам пропатченое, кое-что дописывал, менял...
ладно - видимо сейчас буду в ядре разбираться почему не работает, там вроде не так много

Shnit

для тех, кому интересно -
прокопался неделю в коде ядра, отдебажил хорошо, разобрался как все работает, кое-с-чем
поигрался, пописал под pci, нашел причину. невпадаясь в подробности - надо просто было передать параметр ядра
pci=assign-bussed
что ж, на ошибках учатся
Оставить комментарий
Имя или ник:
Комментарий: