# Softmodem

Un softmodem (contrazione di software modem) è un modem strutturalmente semplice e con limitate funzionalità. Per questi motivi, durante l'utilizzo esso sfrutta la potenza di calcolo del computer a cui è collegato per svolgere operazioni che in un modem tradizionale vengono invece affidate ad appositi componenti hardware.
I softmodem sono spesso chiamati winmodem, perché i primi modelli messi in commercio funzionavano esclusivamente con i sistemi operativi Microsoft Windows. Benché il loro utilizzo si sia diffuso anche tra gli altri sistemi, come quelli embedded e Linux, sono ancora ostici da adattare ai sistemi al di fuori della famiglia Microsoft Windows, a causa del mancato supporto software da parte dei produttori.
Il termine "winmodem" è registrato dalla U.S. Robotics ma viene ormai comunemente utilizzato per indicare tutti quei modem che presentano caratteristiche analoghe.

## Evoluzione e tecnologia

Con l'evoluzione della rete telefonica generale, anche i modem analogici dovettero adattarsi, aumentando in complessità.
Le prime generazioni di modem usavano tecniche di modulazione come FSK ed ASK e basse velocità di trasmissione e ricezione dei dati; ciò comportava uno scarso uso della banda passante della linea telefonica.
Un modem che rispondesse a tali requisiti era in grado di svolgere tutte le funzioni inerenti alla trasmissione e ricezione dei dati, pur mantenendo una relativa semplicità architetturale. Inoltre era possibile sviluppare il progetto di un modem, impiegando solo componenti generici e di facile reperibilità. Fu così fino alla prima metà degli anni ottanta.
Con la nascita di nuove tecniche in grado di migliorare la velocità delle comunicazioni, i modem si sono dovuti adeguare, e sono diventati via via più sofisticati, arrivando ad avere nello schema più circuiti integrati, così come più ponti logici, PLL e Microcontrollori.
La complessità dei nuovi protocolli di comunicazione (come il V.34, il V.90 ed il V.92, con la sua QAM a 1024 bit) rese praticamente impossibile progettare nuovi modem basandosi esclusivamente su componenti generici; cominciarono ad essere impiegati DSP ed ASIC dedicati, rendendo il modem un sistema embedded, con un microcomputer al suo interno.
I nuovi protocolli introducevano anche tecniche di compressione e correzione degli errori, le quali richiedevano una potenza di calcolo adeguata. Inoltre, l'utilizzo dei soli componenti generici avrebbe reso impossibile mantenere la compatibilità verso il basso, viste le grandi differenze negli schemi di modulazione.
L'evoluzione tecnologica aveva portato anche ad un aumento considerevole dei costi dei modem tradizionali, inoltre non era da escludere che fosse necessario riprogrammare il firmware, in base agli standard utilizzati localmente dai diversi gestori telefonici.
I produttori videro nei softmodem una valida soluzione che potesse abbattere i costi senza rinunciare alle funzioni di un modem tradizionale, anzi guadagnando in versatilità. Tuttavia, erano ancora necessari significativi progressi nella potenza delle CPU, affinché i softmodem potessero reggere bene il confronto coi modem tradizionali, in quanto a prestazioni ed affidabilità.
Attualmente, il problema della potenza di calcolo richiesta da un moderno softmodem è ormai risolto. Alcuni modelli sono supportati da sistemi diversi da Windows, e si è diffuso il termine linmodem per indicare quei softmodem per cui è disponibile il supporto per Linux. Tuttavia, con altri modelli di softmodem il problema dell'incompatibilità rimane.

## Vantaggi

Siccome la maggior parte delle funzioni sono delegate ad un software ed alla CPU, un computer dotato di softmodem può essere aggiornato più facilmente per supportare i nuovi standard. A dire il vero, si tratta ormai di un vantaggio molto relativo: nel 2005, il protocollo 56k v92 ha raggiunto praticamente la massima velocità possibile tramite la rete telefonica generale, e con l'affermazione delle connessioni in banda larga ulteriori sviluppi di tali tecnologie sembrano decisamente poco probabili.
Un vantaggio più importante sta nella drastica riduzione dei costi di produzione, dei consumi e delle dimensioni degli apparati, il che ha permesso di integrare i softmodem anche nei computer portatili e perfino nei PDA.
Dato che i softmodem fanno molto poco da sé, tramite appositi programmi possono emulare anche una segreteria telefonica ed un generatore di segnali acustici, e possono essere usati per inviare e ricevere fax.
La maggior parte dei modem esterni di tipo tradizionale sono su porta seriale EIA RS-232, e nella maggior parte dei PC ogni porta seriale ha una banda massima di 115.200 bit al secondo a causa delle limitazioni dell'UART; in alcuni modelli raggiunge i 230.400. Siccome i softmodem usano interfacce più moderne, come PCI e PCMCIA, possono sfruttare al massimo le connessioni conformi allo standard v.92, che con il protocollo di compressione v.44 può raggiungere i 300.000 bps.

## Svantaggi

Agli inizi, i softmodem divennero famosi per la loro capacità di penalizzare le prestazioni del computer su cui erano utilizzati, e per avere spesso dei driver contenenti bug. Malgrado ciò la loro popolarità continuò a crescere, spesso i produttori di PC li inserivano anche nei modelli di fascia bassa e già dal 1998 la maggior parte dei modem interni prodotti erano softmodem.
L'arrivo di processori più potenti di quelli che avevano visto la nascita e le prime fasi dello sviluppo dei softmodem, fu accompagnata da un sensibile miglioramento dei driver, ed ormai il problema sopracitato è superato da anni. Resta però quello del supporto ai sistemi operativi alternativi a Windows: i driver necessari per molti modelli non sono disponibili, e scriverli è un'operazione impegnativa che non sempre i produttori sono disposti ad affrontare, dato che i softmodem - proprio per via della loro semplicità - richiedono driver molto complessi per funzionare.
Il vantaggio della maggior versatilità di un modem minimale sotto il diretto controllo del processore principale del computer è stato drasticamente ridimensionato, con la nascita di modem tradizionali ampiamente riprogrammabili perché basati su un'architettura a DSP generici, in grado di avvicinarsi alla flessibilità dei softmodem senza rinunciare alla compatibilità. Un'architettura del genere fu sviluppata dalla stessa U.S. Robotics che aveva registrato il nome "Winmodem".

## Categorie

I softmodem si distinguono i due categorie: controllerless (cioè senza controller) e pure software modem, cioè modem puramente software. I primi svolgono da sé buona parte del lavoro, quindi richiedono un intervento relativamente piccolo alla CPU; su questo principio si basano i modelli di Lucent e di Motorola. I secondi, come quelli basati sullo standard Conexant HCF, richiedono un intervento decisamente maggiore.
La U.S. Robotics usa il termine "Winmodem" solo per indicare i modem controllerless, e "Softmodem" per gli altri.
Per quanto riguarda l'interfaccia, i softmodem possono essere: interni su scheda PCI oppure ISA; su mini scheda PCMCIA per computer portatili; integrati a tutti gli effetti; esterni con interfaccia USB.
Ciò non vuol dire che tutti i modem su scheda PCI o ISA, oppure esterni USB siano anche softmodem/winmodem; anche alcuni modem tradizionali sono usciti su tali interfacce.

## Softmodem per ADSL

Sebbene i softmodem siano storicamente associati alle connessioni dial-up tramite le normali linee telefoniche PSTN, cioè analogiche, furono prodotti anche modem software per ADSL. Si basavano su principi simili a quelli dei softmodem analogici, anche se lavoravano su segnali più complessi. Erano disponibili su scheda PCI oppure esterni USB e l'attacco alla linea era lo stesso RJ-11. Tra i produttori dei chipset appositi, vi erano Conexant e Motorola.
Non ebbero un grande successo, perché la sempre maggiore diffusione dell'ADSL fu accompagnata dalla crescente diffusione dello home networking: sempre più case si trovarono ad avere più di un computer, tutti connessi alla stessa linea dati via cavo o etere, e l'apparecchio in grado di fornire l'accesso ad Internet a tutti i dispositivi non poteva che essere un router che gestisse da sé tutte le operazioni di mediazione tra i terminali da un lato, e la rete globale dall'altro.
Inoltre alcuni router possono essere settati in modo da comportarsi come un modem, con la possibilità di aprire la connessione solo quando serve, e chiuderla quando non serve più (anche se non si posseggono i privilegi di amministratore).
Infine, i router non presentano i problemi di incompatibilità coi sistemi operativi alternativi, al contrario dei softmodem (analogici ed ADSL).

## Principio di funzionamento

I termini softmodem e winmodem sono spesso usati in senso denigratorio, mentre i modem hardware sono definiti gli unici, veri modem. La spiegazione sta nel fatto che i softmodem sono poco più che interfacce elettriche tra il computer e la linea telefonica, limitandosi a convertire i voltaggi ed a fornire le funzioni basilari di Convertitore digitale-analogico ed analogico-digitale.
In sostanza, un tipico softmodem analogico può essere paragonato ad una scheda audio specializzata nella gestione di determinate frequenze, con convertitori esclusivamente monofonici ed una porta atta al collegamento alla linea telefonica, al posto dei tipici ingressi/uscite che si trovano sulle normali schede audio.
Al 1999 risale AuDSL, un esperimento sull'utilizzo di una normale scheda audio come modem.