FreeBSD 8.1 a multiportova seriova karta

David Pasek david.pasek at gmail.com
Thu Jan 6 07:22:59 CET 2011


Ahoj,

2011/1/5 Dan Lukes <dan at obluda.cz>:
> Takze uz vime, ze porty jsou v techto osmicich
> e000 (1 blok offset  0)
> e008 (1 blok offset  8)
> e010 (1 blok offset 16)
>
>
>> takze jdu pokracovat ve hledani ctvrteho portu ;-)
>
> zbyva zmenit 16 na 24 a melo by ti to najit zase dva seriaky, z nichz ten
> druhy bude ten ctvrty ;-)
>
> Neboli - vsechny ctyri seriaky jsou v prvnim bloku.
>
> Pokud se to potvrdi bude treba opravit funkci tak, aby jako RID vzdycky
> vracela 0x10 a jako offset vracela 8*port
>
> Dan

tak jsem dotestoval a neni to asi moc pozitivni. Druhe dva uarty se
sice objevi v tom prvnim bloku (offset 16 a 24), ale kdyz se s takle
zkompilovanym PUCem pokusim pristoupit na kterykoliv z portu karty
(uart 2 i uart3), tak system crashne.

Tady je podrobnejsi vysledek testu:

puc0 at pci0:0:17:0:       class=0x070002 card=0x40561409 chip=0x71681409
rev=0x01 hdr=0x00
    vendor     = 'Timedia Technology Co Ltd'
    device     = 'PCI / ISA Asynchronous UART Signal Chips Solution (40371409)'
    class      = simple comms
    subclass   = UART
    bar   [10] = type I/O Port, range 32, base 0xe000, size 32, enabled
    bar   [14] = type I/O Port, range 32, base 0xe020, size 16, enabled


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 <= je hexadecimalne toto 0xe000-0xe007
              puc0 port numbers:
                  1
          uart3
              puc0 I/O port mapping:
                  57352-57359 <= je hexadecimalne toto 0xe008-0xe00f
              puc0 port numbers:
                  2

Chovani: funguji oba dva RS-232 porty pres uart2 a uart3


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 <= je hexadecimalne toto 0xe000-0xe007
              puc0 port numbers:
                  1
          uart3
              puc0 I/O port mapping:
                  57360-57367 <= je hexadecimalne toto 0xe010-0xe017
              puc0 port numbers:
                  2

Chovani: pri toku dat do karty (jak pres uart2 tak pres uart3) => system crash


kernel s puc ovladacem a upravenyma zdrojakama (Pro porty 1 a 3 - offset 24):
==============================================================================
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  <= je hexadecimalne toto 0xe000-0xe007
              puc0 port numbers:
                  1
          uart3
              puc0 I/O port mapping:
                  57368-57375  <= je hexadecimalne toto 0xe018-0xe01f
              puc0 port numbers:
                  2

Chovani: pri toku dat do karty (jak pres uart2 tak pres uart3) => system crash

kernel s puc ovladacem a upravenyma zdrojakama (Pro porty 1 a 3 - offset 32):
==============================================================================
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    <= je hexadecimalne toto 0xe000-0xe007
              puc0 port numbers:
                  1

Chovani: detekuje se a funguje jen prvni RS-232 port pres uart2

kernel s puc ovladacem a upravenyma zdrojakama (Pro porty 1 a 3 - offset 40):
==============================================================================
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

Chovani: detekuje se a funguje jen prvni RS-232 port pres uart2

Dane, nejake napady?

David.


More information about the Users-l mailing list