Modems
Uit DeVliegendeWiki
Blacklisting
Blacklisting wil zeggen dat sommige modems nummers blokkeren nadat die een paar keer achter elkaar gebeld worden. Sommige landen vereisen dat. Het is het broertje van war dialing.
Bronnen:
Bronnen
Device identificeren (seriëel)
Linux gebruikt doorgaans devices /dev/ttySxx voor seriële modems, waarbij xx van 0 to 15 loopt.
Je kunt de herkende devices achterhalen middels
dmesg | grep tty
Een voorbeeld van de output:
[ 0.001884] console [tty0] enabled [ 0.912030] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 0.912166] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 0.912689] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 0.912883] 00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Methodes om je modem te achterhalen:
- Modem uitzetten, dmesg | grep tty geven, aanzetten, weer dit commando geven, en vergelijken welk device er bij is gekomen: Lijkt niet altijd te werken. Vermoedelijk omdat de computer de modem sowieso niet 'ziet'. Hij ziet alleen de interface aan de kant van de computer, zoals de 16550A UART in het voorbeeld hierboven.
- In Minicom via cOnfigure Minicom een TTY-device selecteren > Opslaan als default > Minicom verlaten en weer starten > Bij initieren tijden starten, moet er direct een lampje branden (feb. 2010: TR ging branden). Andere momenten om interactie te zien: Initialize Modem, of atdt. Zie Minicom voor details.
Als je het device eenmaal hebt gevonden, is het handig om 't te linken naar device modem middels
ln -s /dev/ttyS1 /dev/modem
waarbij in dit geval de modem op device ttyS1 aangetroffen is. Let op: Na een computerherstart leek /dev/modem verdwenen te zijn.
Hayes AT Command Result Code "BLACKLISTED" (Code 30)
CCS-A (Hieronder) suggereert dat dit andermaal een modem-gerelateerde beveiliging is. In dit geval: Om te voorkomen dat je binnen een bepaalde tijdsduur opnieuw belt naar een nummer dat eerder niet lukte om mee te verbinden.
Bronnen:
Hayes AT Command Result Code "DELAYED CALL" (Code 31)
Volgens site Dynamic Alliances (hieronder) hebben modems een ingebouwde vertraging, om te voorkomen dat per abuis hetzelfde nummer eindeloos achter elkaar gedraaid wordt. Als je dat toch probeert, krijg je de DELAYED CALL-foutmelding.
Bronnen
Hayes commando's
- Alle Hayes commando's beginnen met AT, hetgeen staat voor ATtention
- Volgens een bepaalde bron dient het '&'-teken om commando's samen te voegen, terwijl volgens Lisa dit teken 'extended Hayes' commando's aangeeft. Ik geloof dat laatste.
- Met dial modifiers zoals W (Wait) kun je een pauze inlassen tussen opnemen en bellen. Ik betwijfel of je zo'n pauze ook na het bellen kunt toepassen.
- Flash the hook betekent dat je een halve seconde de verbinding verbreekt. Dat is een signaal dat gebruikt worden om een gesprek door te verbinden.
- Hook is echt gewoon haak in het Nederlands, zoals in: 'de telefoon van de haak halen'
| Commando | Uitleg |
|---|---|
| +++ | Escape code. Misschien om van binaire mode terug te gaan naar commando-mode. |
| , | Wacht twee seconde. De preciese duur van de pauze wordt bepaald door register S8. Bron: Lisa. Je kunt dit commando herhalen. ',,,,,' zou wellicht 10 seconde pauze kunnen opleveren. |
| at&f | Return to factory settings: Lijkt hetzelfde als reset te zijn in andere contexten |
| at&v | Display current configuration and storage profile: Toont drie paragrafen met oa. waarden van variabelen. Interessant: S11 bevat waartde 70. Misschien is dat de time-out? |
| at&z | Return to factory settings z. Dit is voor modems met een geheugen z met standaard-instellingen |
| at&z<nummer> | Reset naar instelling <nummer>. Voor modems met meerdere geheugens voor standaardinstellingen. Bv. at&z1 of at&z2 |
| at=<getal> | Ken een waarde toe aan het register dat je eerder hebt geselecteerd met ats<nummer> |
| ath0 | Hang op (force line on-hook) |
| ath1 | Neem op (force line off-hook) |
| ath2 | Force line special off hook (used for HAM radio) |
| atdt | Klikje + lampje gaat kort branden. Waarschijnlijk wordt de lijn opengezet. Indien er geen telefoonlijn is verbonden verschijnt even later: "NO CARRIER" of "NO DIALTONE". Indien de modem wel aangesloten is, hoor je een kiestoon. |
| atdt<nummer> | Bel het gegeven nummer middels dial tone. Voorbeeld: atdt0650243451. |
| atpt<nummer> | Bel het gegeven nummer middels pulse tone. Voorbeeld: atpt0650243451 |
| atq0h0 | Beetje raar commando lijkt me: q0 zet quitet mode uit, en h0 betekent op de haak, waarbij eventuele lopende gesprekken worden afgebroken. |
| atq0v1 | Dit is één van de onderliggende commando's van Kermit's abstractere dial-commando. q heeft betrekking op quiet mode, en die wordt hierdoor uitgezet. v staat voor verbose, en dat wordt hier aangezet. Dat wil zeggen dat feedback in het Engels wordt gegeven. |
| ats<nummer> | Selecteer betreffende S-register. Bv. ats11. Zie at= voor vervolg |
Bronnen:
- Wikipedia
- IceWalkers Modem HowTo: Erg prettig
- Seriss Modem Reference
- Heim's Hayes lijst: Handig & vermoedelijke behoorlijk compleet
- Lisa@Universiteit Paris: Handig.
Kermit
Kermit is een communicatieprogramma, onder andere geschikt om met modems te babbelen. Niet alleen is Kermit erg geschikt voor scripten, maar ook voor debuggen, net als Minicom. Zie Kermit voor details.
Minicom
Zie artikel Minicom.
Modems & PBX-functionaliteit
Oa. dit en dit artikel leggen uit dat traditionele modems ongeschikt zijn voor gebruik in een PBX, omdat de meeste modems geen mogelijkheid hebben om audio-stromen te hanteren, en dat ze slechts half-duplex zijn, of zoiets.
Ondersteuning
Doorgaans zegt het merk en type modem niet zoveel, maar gaat het om de chipset.
| Chipset | Uitleg |
|---|---|
| 3Com | Geen ondersteuning. Bron: Ubuntu Unleashed, p. 81 |
| Conexant HCF | Niet ondersteund. (Ubuntu Unleashed, p. 81) |
| Conexant HSF | Wel ondersteund. (Ubuntu Unleashed, p. 81) |
| IBM Mwave | Wel ondersteund. (Ubuntu Unleashed, p. 81 & linmodems.org) |
| Lucent/Agere | Mogelijk ondersteund. Te identificeren vanaf een shell met lspci -vv. Betreffen Lucent en Xircom modems. (linmodems.org) |
| Lucent AMR | Geen ondersteuning. (Ubuntu Unleashed, p. 81, linmodems.org) |
| Multich MultiModem model MT5634ZPX-PCI | Ondersteund (PCI Modems & Linux) |
| Motorola SM56 | Ondersteund. (Ubuntu Unleashed, p. 81) |
| Rockwell | Misschien. Zie dit artikel van iemand die een modem met een Rockwell HSF-chipset aan de praat heeft gekregen. Zie modemsite.com voor een voorbeeld van ondersteuning voor een Rockwell HCF-chipset. |
| US Robotics | Geen ondersteuning. (Ubuntu Unleashed, p. 81) |
Seriële of parallele poort?
Externe modems kun je niet via de parallele poort aansluiten, ook al zit er zo'n 'break-out kabel' bij. Het moet via een seriële poort.
Scripting
Vanuit een programma-omgeving modems aansturen:
- Misschien dat http://mail.python.org/pipermail/tutor/2007-January/052306.html helpt.
- Kermit kan gescript worden: kijk maar
- De tldp Modem HowTo heeft een hoofdstuk over communicatie-software
- Minicom kan gescript worden volgens de tldp Modem HowTo
TTY
TTY komt van teletypewriter. Dat waren printers die op een telefoonlijn waren aangesloten, en waarmee tekstuele berichten over een afstand konden worden gecommuniceerd. Die dingen bestaan bijna niet meer, maar de naam leeft voort in de afkorting TTY voor seriële aansluitingen onder Unix/Linux. Vandaar dat je seriële modems onder Linux typisch vindt bij devices waarvan de naam begint met TTS.
WvDial
WvDial is een utility om in te bellen bij een ISP. Als je een externe modem serieel hebt verbonden met een machine waarop je Ubuntu installeert, kan-ie de modem detecteren. Op die manier kun je in het WvDial-configuratiebestand het betreffende device achterhalen. Ook handig: Als je WvDial start, gaan als het goed is, de lampjes op de modem branden. Het betreffende configuratiebestand:
/etc/wvdial.conf
