Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: USB a ASM lub C/C++  (Przeczytany 15493 razy)

maluch

  • Gość
USB a ASM lub C/C++
« dnia: 2006-04-14, 17:55:42 »
Chcialem sie dowiedziec jak zainstalowac pakiet kernel-source potrzebny do instalacji neostrady  
I jeszce jedno jak juz wpisuje w konsoli scieske do pliku inicjujacego instalacje i plik sie otwiera to wyskakuje komunikat \\"Please enter the correct path to installation directory!\\" i nie jestem pewien czy to wina braku teko pakietu. prosze o szybka pomoc a i linux jest to Mandriva 2006.1-0.3

xadmi

  • Gość
USB a ASM lub C/C++
« Odpowiedź #1 dnia: 2006-04-14, 19:51:41 »
2006-04-14 17:55:42 maluch napisał:

> Chcialem sie dowiedziec jak zainstalowac pakiet kernel-source potrzebny do instalacji neostrady

#urpmi kernel-source


 >
 > I jeszce jedno jak juz wpisuje w konsoli scieske do pliku inicjujacego instalacje i plik sie
 > otwiera to wyskakuje komunikat \\"Please enter the correct path to installation
 > directory!\\" i nie jestem pewien czy to wina braku teko pakietu. prosze o szybka pomoc a i
 > linux jest to Mandriva 2006.1-0.3
 
 Dla ścisłości to jest beta-version , KDE 3.5 i różne takie ...
 Swieży użytkownik +Mandriva-beta to może nie działać  :)

maluch

  • Gość
USB a ASM lub C/C++
« Odpowiedź #2 dnia: 2006-04-17, 10:36:17 »
2006-04-14 19:51:41 xadmi napisał:

> 2006-04-14 17:55:42 maluch napisał:
 >
 > > Chcialem sie dowiedziec jak zainstalowac pakiet kernel-source potrzebny do instalacji
 > neostrady
 >
 > #urpmi kernel-source
 >
 >
  prubowalemi cos wyskakuje ale jak sprawdzam czy zainstalowany to nadal brak

axlinux

  • Gość
USB a ASM lub C/C++
« Odpowiedź #3 dnia: 2006-04-17, 10:58:26 »
Włącz sobie centrum sterowania dodawanie oprogramowania.

I poszukaj kernel surce tam powinno być tylko poszukaj :)

maluch

  • Gość
USB a ASM lub C/C++
« Odpowiedź #4 dnia: 2006-04-18, 22:21:09 »
2006-04-17 10:58:26 axlinux napisał:

> Włącz sobie centrum sterowania dodawanie oprogramowania.
 >
 > I poszukaj kernel surce tam powinno być tylko poszukaj :)

tak też robiłem ale jak już się skończył proces instalacji to w konsoli wyskakuje \\"pakiet kernel-source nie jest zainstalowany\\" i a jak sprawdzam przez centrum sterowania to tam wyskakuje że jest zainstalowany a przy instalacji neostrady wyskakuje błąd bo nie ma tego pakietu

piotrek22

  • Gość
USB a ASM lub C/C++
« Odpowiedź #5 dnia: 2006-04-19, 10:32:11 »
2006-04-18 22:21:09 maluch napisał:

> 2006-04-17 10:58:26 axlinux napisał:
 >
 > > Włącz sobie centrum sterowania dodawanie oprogramowania.
 >  >
 >  > I poszukaj kernel surce tam powinno być tylko poszukaj :)
 >
 > tak też robiłem ale jak już się skończył proces instalacji to w konsoli wyskakuje \\"pakiet
 > kernel-source nie jest zainstalowany\\" i a jak sprawdzam przez centrum sterowania to tam
 > wyskakuje że jest zainstalowany a przy instalacji neostrady wyskakuje błąd bo nie ma tego
 > pakietu


Po rpm -q musisz podać dokładną nazwę pakietu. Sprawź też czy przypadkiem nie wgrałeś innych źródeł.

maluch

  • Gość
USB a ASM lub C/C++
« Odpowiedź #6 dnia: 2006-04-19, 18:30:09 »
> Po rpm -q musisz podać dokładną nazwę pakietu. Sprawź też czy przypadkiem nie wgrałeś innych źródeł.

wpisuje:
# rpm -q kernel-source
 a potem mi wyskakuje że nie zainstalowany
jak tak robie z innymi pakietami to wyskakuje ze pakiet jest zainstalowany i jego wersja
nie wiem może najpierw się nauczę na innej łatwjejszej dystrybucji ...

piotrek22

  • Gość
USB a ASM lub C/C++
« Odpowiedź #7 dnia: 2006-04-19, 21:06:26 »
2006-04-19 18:30:09 maluch napisał:

>  > Po rpm -q musisz podać dokładną nazwę pakietu. Sprawź też czy przypadkiem nie wgrałeś
 > innych źródeł.
 >
 > wpisuje:
 > # rpm -q kernel-source
 >  a potem mi wyskakuje że nie zainstalowany
 > jak tak robie z innymi pakietami to wyskakuje ze pakiet jest zainstalowany i jego wersja
 > nie wiem może najpierw się nauczę na innej łatwjejszej dystrybucji ...

Nie ma łatwiejszej dystrybucji - no, głowy nie dam.
Napisz na konsoli  uname -r
Po Enterze otrzymasz wersję jądra działającego
Odpal np konquerora i sprawdź  katalog /usr/src.
Powinieneś tam mieć dowiązanie o nazwie linux,  sprawdź do czego ono prowadzi.
Jeśli masz źródła to powinien prowadzić do katalogu linux-wersja_jądra, d o k ł a d n i e taka jaką
podał uname. Idź do tego katalogu, kliknij i zobaczysz czy są.
Być może i dowiązanie i źródła będą w tym samym katalogu obok siebie.

amatox

  • Gość
USB a ASM lub C/C++
« Odpowiedź #8 dnia: 2006-04-14, 14:39:25 »
Witam

Potrzebuje uzyskac informacji na temat:

Jak mogę kontrolować transmisję z urządzeniem X po przez port USB (np. 2.0) - skad mogę uzyskać protokół do tego portu (jeśli jakiś standard obowiązuje) oraz jak oprogramować komunikację z nim używając wyłącznie NASM (po przez przerwania linuxowe) lub kompilatora GCC...?

Jeśli ma ktokolwiek informacje także o tym jak komunikować się z portem USB po przez przerwania BIOS-u (czyli z pominięciem systemu operacyjnego - czyli tak jakby go nie było - zwyczajnie zakładając że nie został zainstalowany ;))

Z poważaniem
Krzysztof Mularski
mularski[malipszon]arahnet.org

mpiernik

  • Gość
USB a ASM lub C/C++
« Odpowiedź #9 dnia: 2006-04-19, 07:51:08 »
witam,

tez szukam czegos na ten temat.slyszalem ze kraza gdzies w sieci gotowe fragmenty kodow w C.jezeli ktos moze pomoc to z gory dzieki

pozdrawiam
 

spideros1

  • Gość
USB a ASM lub C/C++
« Odpowiedź #10 dnia: 2006-06-04, 10:47:55 »
Są gotowe fragmenty w /usr/src/linux/drivers/usb :) A na serio to BIOS nie udostępnia bezpośrednich procedur do obsługi USB, chyba że płyta udostępnia bootowanie z pendrive'a, to w tedy jest widziany jako napęd pod int 0x13.

amatox

  • Gość
USB a ASM lub C/C++
« Odpowiedź #11 dnia: 2006-06-04, 14:14:18 »
OK, thx za wskazowke...

Jednak jakim niby sposobem OS (LINUX czy windows) komunikuja sie z urzadzaniami po przez USB jak nie po przez funkcje (przerwania sprzetowe) dostepne w BIOS?

Porty USB sa na plycie glownej (nie mowie o adapterach na gniazda PCI), skoro wiec BIOS udostepnia odpowiednie przerwania (API) dla obslugi komunikacji z portami gniazd PCI, AGP, IDE, etc. to jakos nie bardzo miesci mi sie w logice ze jakikolwiek OS moze komunikowac sie z USB z pominieciem BIOS (danej plyty na ktorej wmontowany jest USB)
Nie przyjme innego schematu niz

USER > APP > OS > USB > X

gdzie X to dowolne urzadzenie na porcie USB (jak np. drukarka, aparat czy skaner)
znak > wskazuje kierunek wzajemnej komunikacji [w tym wypadku wyslania zadania/rozkazu]

Rzecz w tym jak tak na prawde komunikuja sie z portami USB windows czy LINUX, odpowiedz na to pytanie jest wlasciwa odpowiedzia na postawione przeze mnie wczesniej (nie tylko w tym poscie).

Ponad to... czy przerwanie

INT 0x13h

nie jest przypadkiem przerwaniem odpowedzialnym za wyswietlanie grafiki? :)

amatox

  • Gość
USB a ASM lub C/C++
« Odpowiedź #12 dnia: 2006-06-04, 14:17:33 »
W schemacie mialo byc:

USER > APP > OS > BIOS > USB > X

sorki za gafe :)

spideros1

  • Gość
USB a ASM lub C/C++
« Odpowiedź #13 dnia: 2006-06-04, 19:15:59 »
BIOS robi tylko inicjalizację sprzętu i udostępnia kilka standardowych funkcji potrzebnych do wystartowania systemu operacyjnego. BIOS nie jest używany podczas pracy systemu operacyjnego, bo po co ? Systemy operacyjne odwołują się bezpośrednio do sprzętu poprzez instrukcje zapisu/odczytu portów i pamięci.

amatox

  • Gość
USB a ASM lub C/C++
« Odpowiedź #14 dnia: 2006-06-04, 19:25:37 »
Nie wiem gdzie nabywales ta wiedze....
ale zdecydowanie sie z Toba nie zgodze!

BIOS jest wykorzystywany przez caly czas pracy sprzetu - bo niby jak OS komunikowalby sie ze wspomniana przez Ciebie pamiecia itp.? Do tego wlasnie sluza przerwania (INT) oraz tzw. linie (IRQ)

Linux programiscie niezezwala na dostep do przerwan BIOSu (konkretnie przerwan sprzetowych) - udostepnia wylacznie dwa przerwania systemowe (int 80 oraz [chyba] int 81). Windows natomiast niezabrania dostepu do przerwan BIOSu (to tak na marginesie). Przerwania BIOS po zaladowaniu bootloadera (a w windowsie takze pozniej) mozna podmieniac.

BIOS, owszem, inicjuje sprzet do pracy i laduje z konkretnego BOOTSECTORA wspomnianego BOOTLOADERA danego OSa, jednak pozniej nie znika i nie wyparowywuje! OS moze nakazac w kazdej chwili (zwykle w czasie swojej inicjalizacji) uruchomienie procesora w trybie chronionym (normalnie pracuje w tzw. rzeczywistym). W trybie tym moze OS ustawiac tzw. pulapki (jako przerwania sprzetowe) dla np. wirusow lub wadliwie dzialajacych aplikacji - w tym takze pomaga OSowi nie kto inny jak "magiczny" BIOS.

A co do USB - bylem w EMPIKU (powinienem byl zrobic to wczesniej ;)) i zakupilem ksiazke ANATOMIA PC i tak wiec uzyskalem odpowiedz na swoje pytanie

BIOS do obslugi USB udostepnia dwie linie IRQ10 oraz IRQ11

No i to byloby na tyle... w tym temacie...
jednak pozostaje jeszcze kwestia samego protokolu... on tez jest opisany... ale mimo to czeka mnie spora dawka testow i programikowania ;]

[nadmienie ze potrzebny jest mi dostep do USB na najnizszym poziomie - inaczej skorzystaby z funkcji konkretnego OS]