Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Jul 20, 2019 4:18 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 Next
Author Message
 Post subject: Драйвер rtl8139
PostPosted: Thu Nov 24, 2011 12:31 pm 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
Помогите пожалуйста!
Я юзал драйвер rtl8139 и в функции rtl8139_transmit встретился с int 0x40... что это за прерывание?? и где в исходниках Колибри можно найти его обработчик???


Top
   
PostPosted: Thu Nov 24, 2011 12:56 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1331
Привет!
прочитай самую первую строчку здесь:
http://wiki.kolibrios.org/wiki/Ru/api/kernel
:wink:
а потом загляни в
kernel/trunk/core/syscall.inc


Top
   
PostPosted: Sat Nov 26, 2011 8:52 pm 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
подскажите пожалуйста что за регистр 5Bh и что он содержит...
Code:
; wake up the chip
   mov   edx, [io_addr]
   add   edx, 5Bh
   mov   al, 'R' ; run the clock
   out   dx, al


зарание спасибо!!


Top
   
PostPosted: Sun Nov 27, 2011 1:04 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1331
смотри там же (SVN\kernel\trunk\network\eth_drv\drivers\rtl8139.inc), в самом верху:

Code:
        RTL8139_REG_HLTCLK     equ 0x5b ; undocumented halt clock register


Top
   
PostPosted: Sun Nov 27, 2011 1:40 pm 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
art_zh wrote:
смотри там же (SVN\kernel\trunk\network\eth_drv\drivers\rtl8139.inc), в самом верху:

Code:
        RTL8139_REG_HLTCLK     equ 0x5b ; undocumented halt clock register


я это видел... вот и спрашиваю для чего он используется и что в нем содержится??? а то в датащите нет:((( в нете еще ничего про него не нашел:((((
еще и с английским у меня проблемы:((


Top
   
PostPosted: Sun Nov 27, 2011 1:59 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1331
Я не знаю.
И даже если б знал - не мог бы ответить.
Потому что после любого подобного ответа в Сети недокументированные регистры теряют свой таинственный статус :lol:
А те, кто отвечает - слетает с NDA.

Так что лучше спроси об этом RealTech сам...


Top
   
PostPosted: Mon Nov 28, 2011 9:15 pm 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
...


Top
   
PostPosted: Sun Dec 04, 2011 2:00 am 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
какого вида должен быть 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

такой он должен быть??


Top
   
PostPosted: Sun Dec 04, 2011 2:04 am 
Offline
User avatar

Joined: Tue Aug 25, 2009 4:45 pm
Posts: 794
Советую спросить на английском, у hidnplayr.


Top
   
PostPosted: Sun Dec 04, 2011 11:32 pm 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
...


Top
   
PostPosted: Wed Dec 07, 2011 1:11 am 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
Подскажите пожалуйста!!! почему при запуске 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:
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


Top
   
PostPosted: Wed Dec 07, 2011 1:30 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1331
Code:
;***************************************************************************
;   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


Top
   
PostPosted: Wed Dec 07, 2011 9:46 am 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
art_zh wrote:
Code:
;***************************************************************************
;   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


эти функции я смотрел и немного переделал... они рабочие...
здесь проблема в чемто ниже этих функцый..... но в чем..? :(


Top
   
PostPosted: Wed Dec 07, 2011 7:19 pm 
Offline

Joined: Thu Nov 24, 2011 12:21 pm
Posts: 13
Здесь что никто не писал драйвер для rtl8139 или всем влом писать???:((


Top
   
PostPosted: Wed Dec 07, 2011 7:36 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Угу, мы здесь только и занимаемся тем, что переписываем драйвер для RTL8139. Каждую неделю.
Тебе зачем это всё, только честно?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited