NetBSD és a winbond ethernet

 ( BaT | 2007. szeptember 29., szombat - 19:45 )

Üdv!

Van egy öreg gép, amiben van egy Winbond chipes hálókártya (W24129AS-35 95250). Ezt szeretném működésre bírni NetBSD alatt.

Bootkor ezt írja róla:

ne1 at isa0 port0x300-0x31f irq 10
ne1: NE2000 (RTL8019) Ethernet
ne1: Ethernet address 00:00:e8:17:8d:b6
ne1: 10base2, 10baseT, 10baseT-FDX, auto, default [0x13 0x50] auto

Aztán miután bejelentkezek, és rootként mondok egy ilyet, ezt írta:

# /etc/rc.d/dhclient start
Starting dhclient.
Internet Software Consortium DHCP Client V3.0.1rc11
Copyright 1995-2002 Internet Software Consortium.
All rights reserved.
For info, please visit http://www.isc.org/products/DHCP

Listening on BPF/ne1/00:00:e8:17:8d:b6
Sending on   BPF/ne1/00:00:e8:17:8d:b6
Sending on Socket/fallback
DHCPDISCOVER on ne1 to 255.255.255.255 port 67 interval 6
Mar 11 21:01:52 /netbsd: ne1: device timeout.
DHCPDISCOVER on ne1 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on ne1 to 255.255.255.255 port 67 interval 20
DHCPDISCOVER on ne1 to 255.255.255.255 port 67 interval 16
Mar 11 21:02:30 last message repeated 3 times.
DHCPDISCOVER on ne1 to 255.255.255.255 port 67 interval 7
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
# Mar 11 21:02:46 /netbsd: ne1: device timeout.

Ok, device timeout, rendben van. De mégis, nem lehetne valahogy működésre bírni az eszközt?

Szerk: a "központi" chip (értsd: középen van és ennek van a legtöbb lába), ha fontos lehet: UK0023 54260S1 518D

Neki is ilyen kártyája van.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

statikusan megy?
ifconfig -a mit mond?

--
Bow down and admit defeat. | Old, weak and obsolete.

# ifconfig -a
ne1: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       address: 00:00:e8:17:8d:b6
       media: Ethernet autoselect (10baseT full-duplex)
       inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
       inet6: fe80::200:e8ff:fe17:8db6%ne1 prefixlen 64 scopied 0x1
(Itt jön az lo device, azt nem írom most ide, mert minek.)

Ami eszembe jutott, mint lehetséges hiba: az eszközön van koaxiális és utp csatlakozó is, az előfordulhat, hogy valamiést netbsd csak koaxon próbálkozik? (A neten mindenhol az olvasható, hogy windowson ez a kártya gyakorlatilag mindengéle drivertelepítés nélkül megy (ne2000 driverrel), míg linuxon, bsdken, minixen sajnos nem megy. De én nem adom fel. :))

Statikusan még nem próbáltam, de majd holnap (ma :)) megnézem, hogy hogy kell beálítgatni config fileokat. (Igazából eddig olyan rendszert még nem használtam, ahol ne lett volna legalább egy netconfig command, így kicsit meg vagyok lőve. :))

Bónuszkérdés: vi-ben backspace gombnak valami alternatívája van? Mert az nálam nem működött, valami ^?-t írt, hogy azt ő nem ismeri. (Talán valamilyen keyboard layout változtatás kellene neki?) Vagy ha ezt nem sikerül megoldani, vi-n kívül milyen szövegszerkesztő települ alapból? Illetve ha semmilyen, akkor léteznek bináris csomagok netbsd-re, amiket pl. cd-ről fel lehet telepíteni? (tgz-s megoldás is jó.)
Még a végén írok egy szövegszerkesztő scriptet/programot, config fileok írásához jó lesz. :)

"Ami eszembe jutott, mint lehetséges hiba: az eszközön van koaxiális és utp csatlakozó is, az előfordulhat, hogy valamiést netbsd csak koaxon próbálkozik?"

nem: media: Ethernet autoselect (10baseT full-duplex)

"(Igazából eddig olyan rendszert még nem használtam, ahol ne lett volna legalább egy netconfig command, így kicsit meg vagyok lőve. :))"

nem tudom mi az a netconfig, de itt common sense van ervenyben:

echo inet 192.168.0.1 netmask 255.255.255.0 up > /etc/ifconfig.ne1

na ennel mondj jobbat :)

"Bónuszkérdés: vi-ben backspace gombnak valami alternatívája van? Mert az nálam nem működött, valami ^?-t írt, hogy azt ő nem ismeri."

ez erdekes, nem talalkoztam meg ilyennel.
ezt probald meg: stty erase '^?'
vagy csak vi-ben ilyen?

"vi-n kívül milyen szövegszerkesztő települ alapból?"

persze, ed

"Illetve ha semmilyen, akkor léteznek bináris csomagok netbsd-re, amiket pl. cd-ről fel lehet telepíteni? (tgz-s megoldás is jó.)"

termeszetesen van:

binaris: pkg_add
forrasbol: http://www.netbsd.org/docs/pkgsrc/

forrasbol egyszerubb szerintem :)

de #netbsd -n szivesen segitenek majd, mondd, hogy en kuldtelek ;)

--
Bow down and admit defeat. | Old, weak and obsolete.

Replaced írta:
echo inet 192.168.0.1 netmask 255.255.255.0 up > /etc/ifconfig.ne1

na ennel mondj jobbat :)

ifconfig_xl0="192.168.13.2 netmask 255.255.255.0 up" /etc/rc.conf-ban -- ez a minden fosnak külön file engem idegesít. ;-)


It doesn't matter if you like my song as long as you can hear me sing

Én pedig kifejezetten kedvelem :)

> Bónuszkérdés: vi-ben backspace gombnak valami alternatívája van?

Természetesen, a Ctrl-H. Amúgy terminálban lekérdezed, hogy mi a törlő karakter: "stty -a" kimenetében megkeresed az erase szócskát. (Ha NetBSD-n nem ismeri a -a opciót, akkor helyette "stty all" vagy "stty everything" kell neked.)

A NetBSD alatt a stty ismeri a -a és -e opciókat is:

,,-a Display all the current settings for the terminal to standard output as per IEEE Std 1003.2 (``POSIX.2'').

-e Display all the current settings for the terminal to standard output in the traditional BSD ``all'' and ``everything'' formats.''
(Forrás: http://netbsd.gw.com/cgi-bin/man-cgi?stty++NetBSD-current)

szg@test:/home/szg> cd /usr/pkgsrc/editors/easyedit/
szg@test:/usr/pkgsrc/editors/easyedit> make show-depends
szg@test:/usr/pkgsrc/editors/easyedit>

Ez azt jelenti, hogy leszeded az easyedit (== ee) csomagot valahova (3.1-eshez csomag, 4.0-s csomag), aztán pkg_add /ahova/tetted/a/csomagot/easyedit-1.4.6.tgz (rootként).


It doesn't matter if you like my song as long as you can hear me sing

A "pkg_add ${CSOMAG_URL}" nem működ?

de, csak a PKG_PATH-ot kell beallitani hozza

--
Bow down and admit defeat. | Old, weak and obsolete.

Nem, full URL-el mennie kell. At least it works for me.


It doesn't matter if you like my song as long as you can hear me sing

most latom, hogy felreertelmeztem a kerdest, kosz a javitast

termeszetesen mukodik, de ha mar van fuggosege, akkor kell a path :)

--
Bow down and admit defeat. | Old, weak and obsolete.

Nekem nem kell beállítani a PKG_PATH változót, ha full URL-el húzom.


It doesn't matter if you like my song as long as you can hear me sing

ehh, akkor megint en tevedtem :(

--
Bow down and admit defeat. | Old, weak and obsolete.

Kösz a válaszokat, inkább csak 1 üzenetbe:

Statikusan sem kapcsolódik, ugyan úgy device timeout. Bootnál:

Adding interface aliases:
ne1: device timeout
ne1: device timeout

Megfigyeltem, hogy most mást ír ki pingnél:

ping: sendto: Host is down

Eddig, amikor dhcp-vel kapcsolódtam (volna), akkor olyasmit írt, hogy no route to address, vagy ilyesmi.
(Mindkét esetben a 192.168.1.100-as gépet akartam bingelni.)

A szövegszerkesztős kérdésre: ed-et nem nekem találták ki, vi-ben továbbra sem tudok törölni, de rátaláltam a del parancsra benne. :) A lényeg, hogy az erase az ^?, tehát elvileg tudnia kellene törölni vele. Ctrl-H meg nálam nem törölt, csak visszaléptette a kurzort, mint ahogy kurzormozgató billentyűk között a balra nyíl.

Forrásból meg csak végszükség esetén, mert egy Cyrix 486DX (40MHz) processzoros gépről van szó 16M rammal. :) Viszont tgz-s megoldást megfontolom, egyelőre nincs szükség rá. :)

jah, route-ot is allitsd be :P

echo aroutercime > /etc/mygate

aztan:

/etc/rc.d/network restart

--
Bow down and admit defeat. | Old, weak and obsolete.

Jó, de előbb ki kéne találni, hogy mit kezdjünk a timeoutoló device-szel. :)

http://mail-index.netbsd.org/netbsd-help/2004/05/18/0003.html


It doesn't matter if you like my song as long as you can hear me sing

Ok, de ebből én azt veszem ki, hogy a fickónak nem találja a netbsd a kártyát, pedig a 10-es porton van. Nálam látja a rendszer a kártyát (a 10-es irq-n), csak éppen nem tudja használni.

Egybeválaszra egybeválasz:

1) nézz körül, pl. régen FreeBSD-n ilyen ne2000-es(nek látszó) szutykoknál olyankor jött elő device timeout, ha nem volt jó az IRQ beállítás. Látszólag ment, de gyakorlatilag a fenti.

2) tisztázzuk azt a vi törlést:

a) ha parancsmódban vagy, akkor a X parancs törli a kurzor előtti, és x a kurzor alatti karaktert.

b) ha adatbeviteli (beszúró) módban vagy, akkor a Ctrl-H és/vagy az stty erase-beli dolog. Viszont a képernyőről csak újrarajzolás idején törli a karaktert, addig "látszólag" csak balra viszi. Próbáld ki, begépelsz valamit, majd pár dolgot kitörölsz, és a végén megnyomod az ESC-et (azaz átmégy parancs módba) - és eltűnik a kitörölt (de látható) szöveg

1) Szóval csak látszólag figyel irq 10-en, a valóságban máshol akar kommunikálni a device?

Szerk: kivettem a karit, hogy újból szemügyre vegyem: 1: nincs jumperelésre lehetőség. Tehát ha jumperekkel kellene beállítani az irq-t, akkor az bukta. Marad a kernelforgatás? (Az lesz a szép mutatvány. :))

2)
a) majd kipróbálom, kösz
b): nos nálam nem balra viszi a kurzort, hanem azt írja, a ^?-re nincs parancs (vagy valami ilyesmi), annak ellenére, hogy ez van beállítva stty erase-re.

Tipp: Lehet, hogy úgy állítottad be, hogy "stty erase " majd nyomtál egy ^-t majd egy ?-t. Ehelyett próbáld így: "stty erase <Ctrl+V><Backspace>". A <> közti dolgokat nyomni kell :).

Nem állítottam én be semmit, telepítés után már ilyen volt. De majd kipróbálom, amit írtál. :)

Nos ma feltettem egy win95-öt a gépre, hogy lássam már működni a kártyát. :) A lényeg, hogy a windows a 3-as irq-n kommunikált vele. (A 0x300 0x31f az maradt.) Viszont azt nem tudom, hogy a 3-as irq-ra a windows állította be, vagy a bios? (Ebben a szutyok biosban lehetetlen ilyesmit beállítani.)

Voltak olyan kártyák, ahol szoftverrel lehetett az ilyesmit piszkálni. De ha a win 3-as IRQ-t lát, akkor azt NBSD-n is próbáld 3-ason keresztül elérni.

Ha jól emlékszem NBSD-n se kell ehhez kernelt konfigolni, elég a kernel-t -c opcióval indítani valahogy a boot-promptnál, majd a KCU (ernel onfig tility; pardon az OBSD, itt device configuration manager-nek hijjak) segítségével átállítani . man boot és man userconf

Kösz az infót, utánanézek ennek a dcm-nek.

Nos, most felraktam újra netbsd-t. A telepítő kernelét -c-vel bootoltam, és miután átállítottam 3-as irq-ra a hálókarit, úgy nézett ki, megy a dolog. Csakhogy, amikor feltelepült a rendszer, most hiába indítom -c-vel a kernelt, valamiért nem insul el ez a userconf. Az lehet-e a probléma okozója, hogy a tiny kernelt raktam fel a generic helyett?

Szerintem lehet a hiba oka.

A GENERIC kernel értelmét magyarázzák el, s itt van link a ,,saját'' kernel készítéséhez is:
http://www.netbsd.org/docs/kernel/#generic_kernel

Kösz, akkor most visszateszem a generic kernelt. Aztán majd, ha már mindent belőttem, forgatok egy kernelt.

Kiderült, mit kell még tenni (ne1 3-as irq-ra való áthelyezésén kívül): letiltani a ne0-t. Ez után a telepítőben már volt net, lehetett pingelni hupot. :) Csakhogy, a feltelepített rendszeren hiába állítottam be /etc/mygate-ben 192.168.1.1-et (linksys wrt54gl router), ezt írja:

writing to routing socket: network is unreachable
add net default: gateway 192.168.1.1: network is unreachable

Több kérdésem is van:
1. Nincs mód arra, hogy a telepítőben beállított net beállításokat simán átemelje a telepített rendszerbe? Mert a telepítő /etc-je alatt nem találtam ezzel kapcsolatos config fájlokat.
2. sushi-val be lehet-e állítani a hálót úgy, ahogy a telepítőben?
3. Van-e hasonló config eszköz a telepített rendszerben, mint a telepítőben?
4. Van-e steb-by-step doksi net beállításáról?

1.: nekem meg szokta kerdezni, hogy mentem-e :)
2.: sushi deprecated, mar nincs is benne az ujabb kiadasokban
3.: en meg nem talalkoztam vele, de attol meg lehet
4.: netbsd guide / wiki.netbsd.se esetleg? :P

ui.: mondtam, hogy gyere #netbsd-re ;)

--
Bow down and admit defeat. | Old, weak and obsolete.

1: Megkérdezi, hogy elmentse-e, de attól én még nem látom a telepítő /etc-jében. Vagy rosszul keresem? :) Illetve, ha telepítés elején beállítom netet, akkor install után az installált rendszeren is azok a beállítások lesznek?
2: ok, akkor elfelejtem. Bár nálam a 3.1-ben még bennevan. (Ez a legújabb release, nem? :))
4: majd meglesegetem.

Melyik irc szerveren? :)

1: nekem elmentette (worksforme :P)
2: abban meg benne van, de NetBSD4-ben mar nincs (mar csak par het a releaseig, RC2 van mar)

freenode

--
Bow down and admit defeat. | Old, weak and obsolete.

Akkor lehet, hogy újratelepítem. Nem tart túl sokáig.
Ja, a 3.1 mentette el? :)

Szerk: mármint a telepítőben eszközölt beállításokat átviszi a telepített rendszerre? Vagy ott újra be kell állítani?

Újratelepítettem, most beállítottam előre a netet. Meg is kérdezte, hogy alkalmazom-e ezeket a beállításokat a telepített rendszerben, mondtam neki egy igent.

Futtatom a telepített rendszert, ott device timeout.

A lényeg: egy olyan apróságon csúsztam el, ami bárki másnak teljesen egyértelmű lett volna. Előtte leírom, miért nem gondoltam erre: arra gondoltam, hogy ha win95-ön és az installerben is fut a dolog, akkor szoftveres probléma lesz. De nem, a probléma hardver eredetű. Ugyanis: arra nem gondoltam, hogy más eszköz is figyelhet a 3-as irq-n. És naná, hogy figyelt. A com1 a 3-as irq-t. szereti. Miután letiltottam com1-et, azután ment a net. (Egyébként nem kell letiltani ne0-t, csak valamiért azt hittem. :))

A lényeg az, hogy a fő probléma megoldódott, köszönöm az eddigi segítséget. De azért még van kérdés:

1: van-e valamilyen config fájl, amibe én beírhatom, hogy tegye az ne1-et a 3-as irq-ra és tiltsa le/tegye a 10-es irq-ra a com1-et?

2: kivettem egy különálló com+lpt portot a gépből, de a kernel még úgy látja, benn van. Hogy lehet megmondani neki, hogy már nincs ott? Vagy újra kellene generálni valamilyen adatbázist/device listet? És ha igen, azt hogy?

1 A BIOS Setup elméletben a barátod, ha nem állítható, az egy érdekes probléma.

2 A különállót hogy érted? Van a gépben tüskesor, és arra illeszthető rá? Az ilyeneket a BIOS-ból kell letiltani, ugyanis a COM/LPT portok effektív státuszinformációt nem tudnak magukról közölni, az a kevés, ami mégis közlésre kerül, a BIOS-ból jön. Ha kártyás, akkor az más tészta, azt nem szabadna látnia.

1. BISO-ban ilyesmit nem lehet állítani. Legalábbis én nem találtam ebben a szutyok winbiosban. Viszont azt még megpróbálhatom, hogy a lementett win95-öt visszatolom a vinyóra és annak segítségével átállítom irq-kat.
2. Van a "vezérlő" kártya (amire rádugod az IDE kábeleket pl.), és azon van egy 5x2-es tüskesor, amire rádughatok egy com portot pl. De ezt kivettem, mert úgyse használom, és azért gondoltam, hátha le lehetne tiltani, és akkor hátha pont a 3-as irq-n figyelő com device esik ki. :)

Egyébként úgy értem ezt az újragenerálást, hogy szvsz a netbsd nem térképezi fel minden bootkor a számítógépet, hanem létrehozza install után a /dev alatt az eszközök fájljait, aztán viszont látásra.

Uuuhhh... szóval ilyen bonyolult lekületű géped van... Nos, ha csak tüskesor, akkor nem lehet letiltani, mert a soros port az a kártyára van integrálva, amit rádugsz, az csak a csatlakozó, amiben semmi elektronika nincs.
Hiába térképezi fel, mert a soros port ott van, a chip a kártyán ott maradt, és az nem tudja, hogy te most éppen nem toltad rá a csatlakozó kivezetést. Ez pont olyan, mint a p2-p3 lapokon divatos tüskés sorosport, csak a bios-ban lehetett letiltani, de nem volt képes érzékelni, hogy nincs feldugva rá a "konverter".

Ok, végülis mindegy.