FreeBSD 8.1 a multiportova seriova karta

David Pasek david.pasek at gmail.com
Wed Jan 5 18:03:05 CET 2011


2011/1/5 Zbyněk Burget <zburget at burgnet.cz>:
>
> Nebyl PUC v kernelu a nezkousel jsi ho soucasne loadovat jako modul?
>

Myslim, ze ne. Mel jsem GENERIC kernel, kde PUC neni.  A modul PUC,
kde jsem mel upraveny zdrojak. Timto mi prestaly fungovat i dva UARTy,
ktere mi fungovaly s kernelem, kde jsem mel PUC staticky
zakompilovany.

Pak jsem zdrojak PUCu vratil do puvodniho stavu a snazil se
prekompilovat jen modul  pomoci
make -DNO_CLEAN KERNCONF=GENERIC buildkernel
pak jsem udelal

make KERNCONF=GENERIC installkernel

a prekopiroval puc.ko a puc.ko.symbols z adresare /boot/kernel na
system s PCI kartou.

A k memu udivu to taky nenaslo zadny uart z PCI karty.

Tak jsem se vratil do puvodniho funkcniho stavu tim, ze jsem si zase
prekompiloval kernel s podporou PUC s originalnima zdrojakama a to
funguje tak, ze mam fukcni ty dva porty ze ctyrech,

No a ted jsem zrovna dokompiloval  kernel s podporou PUC s upravenym
zdrojakem podle Danovo navodu. Takhle mi taky fungujou dva porty ze
ctyrech, ale divne je, ze devinfo vraci stejny "puc0 I/O port mapping"
jako s kernelem bez uprav offsetu.

kernel s puc ovladacem a originalnima zdrojakama (Pro porty 1 a 3 - offset 8):
==============================================================================
devinfo -rv

        puc0 pnpinfo vendor=0x1409 device=0x7168 subvendor=0x1409
subdevice=0x4056 class=0x070002 at slot=17 function=0
            Interrupt request lines:
                10
            I/O ports:
                0xe000-0xe01f
                0xe020-0xe02f
          uart2
              puc0 I/O port mapping:
                  57344-57351 <= to je v hexa 0xe000-0xe007
              puc0 port numbers:
                  1
          uart3
              puc0 I/O port mapping:
                  57352-57359 <= to je v hexa 0xe008-0xe00f
              puc0 port numbers:
                  2

kernel s puc ovladacem a upravenyma zdrojakama (Pro porty 1 a 3 - offset 16):
==============================================================================
devinfo -rv

        puc0 pnpinfo vendor=0x1409 device=0x7168 subvendor=0x1409
subdevice=0x4056 class=0x070002 at slot=17 function=0
            Interrupt request lines:
                10
            I/O ports:
                0xe000-0xe01f
                0xe020-0xe02f
          uart2
              puc0 I/O port mapping:
                  57344-57351
              puc0 port numbers:
                  1
          uart3
              puc0 I/O port mapping:
                  57352-57359
              puc0 port numbers:
                  2

Takze si myslim, ze
a) bud jsem nepochopil co ma zmena ve zdrojaku delat.

b) spatne kompiluju kernel a zmena ve zdrojaku
/usr/src/sys/dev/puc/pucdata.c se neprojevi v kernelu, ktery builduju
pomoci
make buildkernel KERNCONF=ACCESS-SERVER
make installkernel KERNCONF=ACCESS-SERVER
v adresari /usr/src

David.


More information about the Users-l mailing list