PDA

Bekijk de volledige versie : seriele poort..



matchless
25-10-2005, 12:58
Op de asus wl500g heb ik nu een seriele poort gebakken en deze wordt mooi door de kernel gezien:

Jan 1 01:00:04 kernel: Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
Jan 1 01:00:04 kernel: ttyS00 at 0xbf800008 (irq = 2) is a 16550A


Ook setserial heb ik erop gezet om de poort te configureren. Doe ik setserial -a /dev/tts/0 dan zie ik:

setserial -a /dev/tts/0
/dev/tts/0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 2
Baud_base: 843750, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_vhi

poort wordt dus ook gezien. In hyperterminal krijg ik alleen maar rommel bij het opstarten. Ook verschillende baudrates geprobeerd. Hij doet dus wel iets. ttyS0 bestaat niet in linux maar wel in de kernel.
Als ik de irq wil veranderen naar irq4 met setserial dan zegt hij :

setserial -a /dev/tts/0 irq 4
Cannot set serial info: Device or resource busy


Doe ik een echo " hello world"/dev/tts/0 zie ik niks gebeuren in hyperterminal.
In enkele draadjes hier had ik gelezen dat je de poort eerst moet "vrijschakelen" maar kan niet uit deze draajes halen hoe ik dat moet doen (tja, beginner..).

Tevens wil ik, als deze poort werkt, een tweede poort inbouwen. Welke aansluitingen op de interne connector moeten dan anders zijn? de adres lijnen veranderen?

Ik heb trouwens Oleg 1.9.2.7-6b op de router staan met een 4 poorts HUB en multicardreader waar een CF kaartje inzit.

matchless
26-10-2005, 20:02
weer een stukje wijzer geworden. Ik ben erachter dat de poort wel degelijk gewoon werkt.

Ik heb op de router minicom ge-installeerd en op de pc hyperterminal gestart.
Als ik wat speel met de instellingen van hyperterminal en minicom krijg ik op een gegeven moment wel data vanuit minicom naar hyperterminal. Betekend iig dat de poort werkt en "vrij" is. Ik denk dat de fout in het kristal zit zodat de baudrate niet overeenkomt met de baudrate die je in hyperterminal kan instellen.

dus zoek ik een terminal programma voor windows waar je de baudrate vrij in kan stellen. iemand een idee bij welk progje dat kan? Verder wil ik een regelbare oscilator bouwen zodat ik tijdens het testen de freq kan instellen. Mischien dat ik de baudrate dan kan "finetunen"..

idee-en zijn natuurlijk welkom..

Styno
26-10-2005, 20:14
Wellicht dat user wtzm je hier wat verder mee kan helpen: http://wl500g.info/showthread.php?t=587

matchless
26-10-2005, 20:56
die had ik al gelezen maar kom er niet echt mee weg..

MAAARRR...eindelijk wel succes. Ik weet nu welke kristal bruikbaar is :)

Ik heb zo ongeveer alle kristallen in huis aan de UART gehangen (behalve de glazen :P ) en nu heb ik precies alle karakters in hyperterminal die ik via minicom intik :)

even wat info voor evt nabouwers:

de UART die ik gebruikt heb is van een oude seriele isa kaart waar een hyundai gm16c550 opzat.

Nu moet er op deze UART een 13,875mhz kristal op. Hyperterminal staat op 9600 8n1 ansi


minicom: /dev/tts/0
9600 8n1
hardware en software control = off

Styno
27-10-2005, 09:09
Dan moet je nu toch ook andere snelheden aankunnen? Misschien niet 115k maar wel 19k2 lijkt me?

matchless
27-10-2005, 14:29
nope..dan krijg ik weer een hoop rotzooi..

wat ook vreemd is dat alleen minicom verbinding met de seriele poort kan maken. Het progje wat ik nodig heb kan op een of andere manier de poort niet gebruiken. ook een usb->serial interface laat geen output zien. Ik krijg geen errors maar ook geen data :(
een echo doet helemaal niks in hyperterminal.

is er een commando ofzo die de seriele poort vrijgeeft ?

Het progje wat ik gebruiken wil is een cardreaderprogje die gebruik maakt van een 9600 baudrate..die maakt gebruik van de RxD/TxD en RTS..maar als ik uberhaupt geen goede verbinding maakt met de seriele poort dan kan dit progje ook niks doen.