Драйвер rtl8139

No comments
  • Привет!
    прочитай самую первую строчку здесь:
    http://wiki.kolibrios.org/wiki/Ru/api/kernel
    :wink:
    а потом загляни в
    kernel/trunk/core/syscall.inc
  • подскажите пожалуйста что за регистр 5Bh и что он содержит...

    Code: Select all

    ; wake up the chip
    	mov	edx, [io_addr]
    	add	edx, 5Bh
    	mov	al, 'R' ; run the clock
    	out	dx, al
    
    зарание спасибо!!
  • смотри там же (SVN\kernel\trunk\network\eth_drv\drivers\rtl8139.inc), в самом верху:

    Code: Select all

            RTL8139_REG_HLTCLK     equ 0x5b ; undocumented halt clock register
  • art_zh wrote:смотри там же (SVN\kernel\trunk\network\eth_drv\drivers\rtl8139.inc), в самом верху:

    Code: Select all

            RTL8139_REG_HLTCLK     equ 0x5b ; undocumented halt clock register
    я это видел... вот и спрашиваю для чего он используется и что в нем содержится??? а то в датащите нет:((( в нете еще ничего про него не нашел:((((
    еще и с английским у меня проблемы:((
  • Я не знаю.
    И даже если б знал - не мог бы ответить.
    Потому что после любого подобного ответа в Сети недокументированные регистры теряют свой таинственный статус :lol:
    А те, кто отвечает - слетает с NDA.

    Так что лучше спроси об этом RealTech сам...
  • ...
  • какого вида должен быть arp пакет для передачи..?
    если:
    MAC получателя - 00:18:5С:46:78:76
    MAC отправителя - 00:15:7А:50:56:87

    Код:
    DataR dw 0018h, 5С46h, 7876h, 0001h, 0015h , 7А50h, 5687h, 0800h
    dw 0001h, 0800h, 0604h, 0001h, 0015h , 7А50h, 5687h, 0C0A8h
    dw 0103h, 0000h, 0000h, 0000h, 0C0A8h, 026Dh

    такой он должен быть??
  • Советую спросить на английском, у hidnplayr.
  • ...
  • Подскажите пожалуйста!!! почему при запуске scan_bus неотправляется ARP пакет????

    tx_buff dw 0FFFFh, 0FFFFh, 0FFFFh, 940Ch , 6DA4h, 7283h , 0806h
    dw 0001h , 0800h , 0604h , 0001h , 940Ch , 6DA4h, 7283h
    dw 0C0A8h, 0203h , 0000h , 0000h , 0000h, 0C0A8h, 026Eh

    Code: Select all

    scan_bus:
    mov [ds:pci_bus],0B801h
        mov    ebx,2
        xor    ecx,ecx
        mov    edx,04h
        mov    esi,2
        call   pci_read_reg
    ;меняем значенние регистра 
        or     al, (1 shl 2) or (1 shl 0)
        and    al, not (1 shl 1)
    ;Записываем в конфигурацыоное пространство
        mov    edx,04h
        call   pci_write_reg
    ;Сброс сетивого адаптера
        mov    edx,[ds:pci_bus]
        add    edx,37h
        mov    al,1 shl 4
        out    dx,al
        mov	   cx,1000 ; ждать уже не для сброса
    @@:
    	  in	   al,dx
    	  test	 al, 1 shl 4
    	  jz	   @f ; RST остается 1 во время сброса
    	  dec	   cx
    	  jns	   @b
        mov eax,ecx     
    @@:
    ; включение Tx 
        ;mov	   al,00001100b
        mov	   al,00000100b
        mov    edx,[ds:pci_bus]
    	  add	   edx, 37h
    	  out	   dx, al
    ;Отправка пакета
      lea eax,[tx_buff]
      mov edx,[ds:pci_bus]
    	add	edx,20h
    	out	dx,eax
    ; установите размер и ранний порог
    	;pop	eax ; pick up the size
    	mov eax,28
      add	eax, (2 * 6 + 2)
    	cmp	eax, 60h
    	jnc	@f
    	mov	eax, 60h
    @@:
    	or	eax, (8 shl 16) or (1 shl 13)
      
               add	edx,10h - 20h
    	out	dx, eax   
    ret
  • Code: Select all

    ;***************************************************************************
    ;   Function
    ;      pci_read_reg:
    ;
    ;   Description
    ;       read a register from the PCI config space into EAX/AX/AL
    ;       IN: ah=bus,device+func=bh,register address=bl
    ;           number of bytes to read (1,2,4) coded into AL, bits 0-1
    ;           (0 - byte, 1 - word, 2 - dword)
    ;***************************************************************************
    
    ....
    
    ;***************************************************************************
    ;   Function
    ;      pci_write_reg:
    ;
    ;   Description
    ;       write a register from ECX/CX/CL into the PCI config space
    ;       IN: ah=bus,device+func=bh,register address (dword aligned)=bl,
    ;           value to write in ecx
    ;           number of bytes to write (1,2,4) coded into AL, bits 0-1
    ;           (0 - byte, 1 - word, 2 - dword)
    ;***************************************************************************
    
    см. kermel/trunk/bus/pci/pci32.inc
  • art_zh wrote:

    Code: Select all

    ;***************************************************************************
    ;   Function
    ;      pci_read_reg:
    ;
    ;   Description
    ;       read a register from the PCI config space into EAX/AX/AL
    ;       IN: ah=bus,device+func=bh,register address=bl
    ;           number of bytes to read (1,2,4) coded into AL, bits 0-1
    ;           (0 - byte, 1 - word, 2 - dword)
    ;***************************************************************************
    
    ....
    
    ;***************************************************************************
    ;   Function
    ;      pci_write_reg:
    ;
    ;   Description
    ;       write a register from ECX/CX/CL into the PCI config space
    ;       IN: ah=bus,device+func=bh,register address (dword aligned)=bl,
    ;           value to write in ecx
    ;           number of bytes to write (1,2,4) coded into AL, bits 0-1
    ;           (0 - byte, 1 - word, 2 - dword)
    ;***************************************************************************
    
    см. kermel/trunk/bus/pci/pci32.inc
    эти функции я смотрел и немного переделал... они рабочие...
    здесь проблема в чемто ниже этих функцый..... но в чем..? :(
  • Здесь что никто не писал драйвер для rtl8139 или всем влом писать???:((
  • Угу, мы здесь только и занимаемся тем, что переписываем драйвер для RTL8139. Каждую неделю.
    Тебе зачем это всё, только честно?
  • Who is online

    Users browsing this forum: No registered users and 7 guests