View Full Version : Modem Conexant Accessrunner su Linux
posto qui per tutti quelli che in privato mi hanno chiesto info su come far funzionare i modem usb basati su chipset Conexant Acessrunner.
Premetto che io ho un modem Hamlet hdsl 640 che funziona correttamente sotto Slackware 10, col kernel 2.4.26, per cui la guida si riferisce a quella distro con quel kernel, anche se altre distro con lo STESSO kernel dovrebbero funzionare correttamente, se seguite ed installare tutto quello che vi viene richiesto.
L'how to prevede operazioni come "compilazione e installazione da sorgenti", ed anche "ricompilazione Kernel", tutti argomenti che qui non vengono trattati.
l'how to si trova
qui (http://akhyra.altervista.org/HAMLET_HDSL640_HOW_TO.pdf)
linux-atm-2.4.1.tar.gz (http://prdownloads.sourceforge.net/linux-atm/linux-atm-2.4.1.tar.gz?download)
libcap-0.8.3 (http://www.tcpdump.org/release/libpcap-0.8.3.tar.gz)
ppp-2.4.2.cnl.tar.gz (http://gateway.bedroom.gen.nz/~clive/adsl/thefiles/ppp-2.4.2cln.tar.gz)
cxacru-2003-10-5.src.tgz (http://prdownloads.sourceforge.net/accessrunner/cxacru-2003-10-05-src.tgz?download)
a me funziona tutto correttamente, quindi non vedo il motivo per cui anche agli altri non dovrebbe funzionare... :p
l'how dov'è + precisamente?? link esatto please :D
Ps: secondo te partendo da 0 posso capirci qlc???
il link a me funziona...
comunque, lo allego anche qui se serve.
Per installare il modem, come per poter usare linux con profitto (del resto) bisogna affrontare alcuni preconcetti che non possono essere ignorati, tipo la compilazione e l'installazione di programmi da sorgenti...per cui se sei alle prime armi, l'installazione del modem sarà ostica, non lo nego...
ilsensine
02-12-2004, 09:14
Originariamente inviato da akyra
il link a me funziona...
Neanche a me funziona boh...
comunque, lo allego anche qui se serve
Accettiamo anche .tar.gz ;)
Originariamente inviato da ilsensine
Neanche a me funziona boh...
Accettiamo anche .tar.gz ;)
è vero, non avevo visto....:p
(e sarebbe anche più consono visto che parliamo di Linux....)
comunque se fate "save link target as..." il link funzia! :p
ilsensine
02-12-2004, 10:47
Alcune note sull'howto, per semplificare un pò le cose:
- libpcap sono già fornite con le distribuzioni; c'è un motivo specifico per usare la ver. 0.8.3 e non (ad es.) la 0.8.1?
- pppd 2.4.2 dovrebbe essere disponibile nelle ultime distribuzioni. A meno che quello che hai linkato non contiene patch particolari, non è necessario ricompilarlo. E' necessario ovviamente inserire il percorso corretto per pppatm.so nel file di configurazione.
- Ricompilare il kernel non è necessario, non ne vedo il motivo
Quindi, con un pò di fortuna, tutto potrebbe ridursi a installare il driver cxacru. Quetso driver _richiede_ la presenza dei sorgenti del kernel in esecuzione, che normalmente sono forniti dalle distribuzioni.
Puoi verificare le fesserie che ho detto?
ilsensine
02-12-2004, 10:48
Originariamente inviato da akyra
comunque se fate "save link target as..." il link funzia! :p
-ENOBRAIN :muro: :p
Originariamente inviato da ilsensine
Alcune note sull'howto, per semplificare un pò le cose:
- libpcap sono già fornite con le distribuzioni; c'è un motivo specifico per usare la ver. 0.8.3 e non (ad es.) la 0.8.1?
- pppd 2.4.2 dovrebbe essere disponibile nelle ultime distribuzioni. A meno che quello che hai linkato non contiene patch particolari, non è necessario ricompilarlo. E' necessario ovviamente inserire il percorso corretto per pppatm.so nel file di configurazione.
- Ricompilare il kernel non è necessario, non ne vedo il motivo
Quindi, con un pò di fortuna, tutto potrebbe ridursi a installare il driver cxacru. Quetso driver _richiede_ la presenza dei sorgenti del kernel in esecuzione, che normalmente sono forniti dalle distribuzioni.
Puoi verificare le fesserie che ho detto?
effettivamente quello che hai detto tu è corretto, sia riguardo a libcap che a linux-atm.
Per quel che riguarda il demone pppd, che gestisce il collegamento, purtroppo bisogna installare proprio quella versione, e disinstallare quella già presente, in quanto è l'unico che possiede il plugin "pppoatm.so"....almeno è l'unico che funziona correttamente col driver "cxacru-2003-10-5".....avrei potuto fare una patch che inserisse il plugin, ma così sono andato più sul sicuro...
per quanto riguarda il kernel bisogna dire che il driver, a me, funziona solo con la versione 2.4.x, per cui nel caso uno possegga Mandrake 10.1 che è fornita col kernel 2.6.x, il driver non compila, e deve per forza scaricarsi i sorgenti della 2.4....a dirla tutta, il driver dovrebbe funzionare anche col kernel 2.6.x, ma io per ora non ci sono riuscito, anche se non è che c'abbia provato tanto, visto che una volta che ho fatto partire il modem col 2.4.26 non vedevo il motivo di rifare il tutto per installare il kernel 2..6....comunque se uno volesse far andare il driver col kernel 2.6 c'è un sito che spiega come, anche se non è proprio semplicissimo:
http://www.zullinux.it/linux/accessrunner.html
P.S.
Puoi verificare le fesserie che ho detto?
mai sentito dire fesserie da te...anzi, sei una delle voci più autorevoli di questa sezione!:ave:
ilsensine
02-12-2004, 11:21
Originariamente inviato da akyra
Per quel che riguarda il demone pppd, che gestisce il collegamento, purtroppo bisogna installare proprio quella versione, e disinstallare quella già presente, in quanto è l'unico che possiede il plugin "pppoatm.so"....almeno è l'unico che funziona correttamente col driver "cxacru-2003-10-5".....avrei potuto fare una patch che inserisse il plugin, ma così sono andato più sul sicuro...
Avrei giurato che il 2.4.2 avesse di per se il plugin atm...non è escluso che alcune distro lo forniscano già con questo plugin, è assurdo non includerlo.
per quanto riguarda il kernel bisogna dire che il driver, a me, funziona solo con la versione 2.4.x, per cui nel caso uno possegga Mandrake 10.1 che è fornita col kernel 2.6.x, il driver non compila
Interessante. Proverò a dare una occhiata al driver, se è una cosa facilmente risolvibile.
ilsensine
02-12-2004, 11:37
Il driver in kernel space mi si compila correttamente sul kernel 2.6.8.1...
(non è quello della mdk 10.1 cmq)
Puoi verificarlo con "make CX_MODULE2"
Originariamente inviato da ilsensine
Il driver in kernel space mi si compila correttamente sul kernel 2.6.8.1...
(non è quello della mdk 10.1 cmq)
Puoi verificarlo con "make CX_MODULE2"
effettivamente compila correttamente....anzi, ho provato ad installare il modem sul PC dove ho una slackware 10 col kernel 2.6.9, e riesco effettivamente a far funzionare il modem, unico dettaglio (cosa più importante) è che il server non mi assegna un IP, quindi non riesco a navigare.
Infatti, quando faccio partire il modem, lo script di avvio "cxstart.sh" conclude con successo, soltanto che se controllo con "ifconfig ppp0" non ricevo nessun IP dal server....infatti in /var/log/message trovo queste diciture:
using interface ppp0
connect ppp0 <--> 8.35
connection terminated
:cry:
non riesco a capire cos'ho dimenticato....mi sembra di aver sbagliato qualche dettaglio....magari tu puoi illuminare la mia testa ottenebrata :)
ilsensine
02-12-2004, 14:07
Attiva il debug di pppd e posta tutto il postabile.
Allega file di configurazione per pppd, ecc.
Non ho quel modem, ma posso vedere se qualcosa suona storto.
Spero che tu o ilsensine mi contatti via ICQ!!!!
Non ci capisco una mazza!!!!!
Vieni a casa miaaaaaa!!!! :D
Originariamente inviato da ilsensine
Attiva il debug di pppd e posta tutto il postabile.
Allega file di configurazione per pppd, ecc.
Non ho quel modem, ma posso vedere se qualcosa suona storto.
allora, in /var/log/messages trovo ora queste parole:
lugin /home/dave/Desktop/usr/src/ppp-2.4.2/pppd/plugins/pppoa/pppoatm.so loaded.
Dec 2 16:22:12 opopomoz pppd[3541]: In pppoatm_process_extra_options
Dec 2 16:22:12 opopomoz pppd[3541]: In pppoatm_check_options
Dec 2 16:22:12 opopomoz pppd[3542]: pppd 2.4.2 started by root, uid 0
Dec 2 16:22:12 opopomoz pppd[3542]: In pppoatm_connect
Dec 2 16:22:12 opopomoz pppd[3542]: In pppoatm_establish_ppp
Dec 2 16:22:12 opopomoz pppd[3542]: Using interface ppp0
Dec 2 16:22:12 opopomoz pppd[3542]: Connect: ppp0 <--> 8.35
Dec 2 16:22:12 opopomoz pppd[3542]: In pppoatm_send_config
Dec 2 16:22:12 opopomoz pppd[3542]: In pppoatm_recv_config
Dec 2 16:22:42 opopomoz pppd[3542]: Connection terminated.
da come vedo succede qualcosa che non mi permette di creare una connessione tra la mia interfaccia ppp0 e il router nella subnet...cosa può essere che lo impedisce? :confused:
l'autenticazione avviene tramite "PAP", e i dati in /etc/ppp/pap-secret sono corretti...
non so cos'altro postare? cosa potrebbe essere utile?
sto alla canna del gas :wtf:
ah..visto che ci sono posto anche il file di configurazione di pppd (/etc/ppp/options):
# /etc/ppp/options
#
# $Id: options,v 1.4 1996/05/01 18:57:04 alvar Exp $
#
# Originally created by Jim Knoble <jmknoble@mercury.interpath.net>
# Modified for Debian by alvar Bray <alvar@meiko.co.uk>
# Modified for PPP Server setup by Christoph Lameter <clameter@debian.org>
# Modified for Slackware by Pat Volkerding <volkerdi@slackware.com>
#
# Use the command egrep -v '#|^ *$' /etc/ppp/options to quickly see what
# options are active in this file.
# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
# Two Servers can be remotely configured
# dns-addr 192.168.1.1
# dns-addr 192.168.1.2
# Specify which WINS Servers the incoming connection Win95 or WinNT should use
# wins-addr 192.168.1.50
# wins-addr 192.168.1.51
# Run the executable or shell command specified after pppd has
# terminated the link. This script could, for example, issue commands
# to the modem to cause it to hang up if hardware modem control signals
# were not available.
#disconnect "chat -- \d+++\d\c OK ath0 OK"
# async character map -- 32-bit hex; each bit is a character
# that needs to be escaped for pppd to receive it. 0x00000001
# represents '\x01', and 0x80000000 represents '\x1f'.
asyncmap 0
# Require the peer to authenticate itself before allowing network
# packets to be sent or received.
# For a PPP Server with script based logins not using PAP or CHAP
# you need to disable this setting.
#auth
# Do not require the other end of the connection to authenticate itself.
# This option is dangerous if pppd is setuid.
# If you also have ethernet and are having problems getting PPP to connect
# over a modem, try this option.
#noauth
# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
# on the serial port.
crtscts
# Use software flow control (i.e. XON/XOFF) to control the flow of data
# on the serial port.
#xonxoff
# Specifies that certain characters should be escaped on transmission
# (regardless of whether the peer requests them to be escaped with its
# async control character map). The characters to be escaped are
# specified as a list of hex numbers separated by commas. Note that
# almost any character can be specified for the escape option, unlike
# the asyncmap option which only allows control characters to be
# specified. The characters which may not be escaped are those with hex
# values 0x20 - 0x3f or 0x5e.
#escape 11,13,ff
# Don't use the modem control lines.
#local
# Specifies that pppd should use a UUCP-style lock on the serial device
# to ensure exclusive access to the device.
lock
defaultroute
noipdefault
noauth
nopcomp
holdoff 4
persist
maxfail 25
lcp-echo-interval 2
lcp-echo-failure 7
user mioUSERNAME #naturalmente non voglio che si veda....
plugin ~/Desktop/usr/src/ppp-2.4.2/pppd/plugins/pppoa/pppoatm.so #non sapevo dove metterlo :)
8.35
# Use the modem control lines. On Ultrix, this option implies hardware
# flow control, as for the crtscts option. (This option is not fully
# implemented.)
#modem
# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd
# will ask the peer to send packets of no more than <n> bytes. The
# minimum MRU value is 128. The default MRU value is 1500. A value of
# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
# bytes of data).
#mru 542
# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
# notation (e.g. 255.255.255.0).
#netmask 255.255.255.0
# Disables the default behaviour when no local IP address is specified,
# which is to determine (if possible) the local IP address from the
# hostname. With this option, the peer will have to supply the local IP
# address during IPCP negotiation (unless it specified explicitly on the
# command line or in an options file).
#noipdefault
# Enables the "passive" option in the LCP. With this option, pppd will
# attempt to initiate a connection; if no reply is received from the
# peer, pppd will then just wait passively for a valid LCP packet from
# the peer (instead of exiting, as it does without this option).
#passive
# With this option, pppd will not transmit LCP packets to initiate a
# connection until a valid LCP packet is received from the peer (as for
# the "passive" option with old versions of pppd).
#silent
# Don't request or allow negotiation of any options for LCP and IPCP
# (use default values).
#-all
# Disable Address/Control compression negotiation (use default, i.e.
# address/control field disabled).
#-ac
# Disable asyncmap negotiation (use the default asyncmap, i.e. escape
# all control characters).
#-am
# Don't fork to become a background process (otherwise pppd will do so
# if a serial device is specified).
#-detach
# Disable IP address negotiation (with this option, the remote IP
# address must be specified with an option on the command line or in an
# options file).
#-ip
# Disable magic number negotiation. With this option, pppd cannot
# detect a looped-back line.
#-mn
# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e.
# 1500).
#-mru
# Disable protocol field compression negotiation (use default, i.e.
# protocol field compression disabled).
#-pc
# Require the peer to authenticate itself using PAP.
#+pap
# Don't agree to authenticate using PAP.
#-pap
# Require the peer to authenticate itself using CHAP [Cryptographic
# Handshake Authentication Protocol] authentication.
#+chap
# Don't agree to authenticate using CHAP.
#-chap
# Disable negotiation of Van Jacobson style IP header compression (use
# default, i.e. no compression).
#-vj
# Increase debugging level (same as -d). If this option is given, pppd
# will log the contents of all control packets sent or received in a
# readable form. The packets are logged through syslog with facility
# daemon and level debug. This information can be directed to a file by
# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If
# pppd is compiled with extra debugging enabled, it will log messages
# using facility local2 instead of daemon).
debug
# Append the domain name <d> to the local host name for authentication
# purposes. For example, if gethostname() returns the name porsche,
# but the fully qualified domain name is porsche.Quotron.COM, you would
# use the domain option to set the domain name to Quotron.COM.
#domain <d>
# Enable debugging code in the kernel-level PPP driver. The argument n
# is a number which is the sum of the following values: 1 to enable
# general debug messages, 2 to request that the contents of received
# packets be printed, and 4 to request that the contents of transmitted
# packets be printed.
#kdebug n
# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
# requests a smaller value via MRU negotiation, pppd will request that
# the kernel networking code send data packets of no more than n bytes
# through the PPP network interface.
#mtu <n>
# Enforce the use of the hostname as the name of the local system for
# authentication purposes (overrides the name option).
#usehostname
# Set the assumed name of the remote system for authentication purposes
# to <n>.
#remotename <n>
# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.
proxyarp
# Use the system password database for authenticating the peer using
# PAP. Note: mgetty already provides this option. If this is specified
# then dialin from users using a script under Linux to fire up ppp wont work.
# login
# If this option is given, pppd will send an LCP echo-request frame to
# the peer every n seconds. Under Linux, the echo-request is sent when
# no packets have been received from the peer for n seconds. Normally
# the peer should respond to the echo-request by sending an echo-reply.
# This option can be used with the lcp-echo-failure option to detect
# that the peer is no longer connected.
lcp-echo-interval 30
# If this option is given, pppd will presume the peer to be dead if n
# LCP echo-requests are sent without receiving a valid LCP echo-reply.
# If this happens, pppd will terminate the connection. Use of this
# option requires a non-zero value for the lcp-echo-interval parameter.
# This option can be used to enable pppd to terminate after the physical
# connection has been broken (e.g., the modem has hung up) in
# situations where no hardware modem control lines are available.
lcp-echo-failure 4
# Set the LCP restart interval (retransmission timeout) to <n> seconds
# (default 3).
#lcp-restart <n>
# Set the maximum number of LCP terminate-request transmissions to <n>
# (default 3).
#lcp-max-terminate <n>
# Set the maximum number of LCP configure-request transmissions to <n>
# (default 10).
#lcp-max-configure <n>
# Set the maximum number of LCP configure-NAKs returned before starting
# to send configure-Rejects instead to <n> (default 10).
#lcp-max-failure <n>
# Set the IPCP restart interval (retransmission timeout) to <n>
# seconds (default 3).
#ipcp-restart <n>
# Set the maximum number of IPCP terminate-request transmissions to <n>
# (default 3).
#ipcp-max-terminate <n>
# Set the maximum number of IPCP configure-request transmissions to <n>
# (default 10).
#ipcp-max-configure <n>
# Set the maximum number of IPCP configure-NAKs returned before starting
# to send configure-Rejects instead to <n> (default 10).
#ipcp-max-failure <n>
# Set the PAP restart interval (retransmission timeout) to <n> seconds
# (default 3).
#pap-restart <n>
# Set the maximum number of PAP authenticate-request transmissions to
# <n> (default 10).
#pap-max-authreq <n>
# Set the CHAP restart interval (retransmission timeout for
# challenges) to <n> seconds (default 3).
#chap-restart <n>
# Set the maximum number of CHAP challenge transmissions to <n>
# (default 10).
#chap-max-challenge
# If this option is given, pppd will rechallenge the peer every <n>
# seconds.
#chap-interval <n>
# With this option, pppd will accept the peer's idea of our local IP
# address, even if the local IP address was specified in an option.
#ipcp-accept-local
# With this option, pppd will accept the peer's idea of its (remote) IP
# address, even if the remote IP address was specified in an option.
#ipcp-accept-remote
Io ragazzo mio sto peggio di te!!! :D
ilsensine
02-12-2004, 16:02
Originariamente inviato da akyra
allora, in /var/log/messages trovo ora queste parole:
Inutiliora. Devi aggiungere "debug" nel file di configurazione.
ah..visto che ci sono posto anche il file di configurazione di pppd (/etc/ppp/options):
Aggiungi almeno "+pap"...
Originariamente inviato da ilsensine
Inutiliora. Devi aggiungere "debug" nel file di configurazione.
Aggiungi almeno "+pap"...
infatti il debug l'ho attivato:
Increase debugging level (same as -d). If this option is given, pppd
# will log the contents of all control packets sent or received in a
# readable form. The packets are logged through syslog with facility
# daemon and level debug. This information can be directed to a file by
# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If
# pppd is compiled with extra debugging enabled, it will log messages
# using facility local2 instead of daemon).
debug
anche +pap ho provato ad attivarlo, ma le cose non cambiano....:( :(
ah...il file /var/log/syslog mi da codesti output:
usb 3-2.2: usbfs: interface 0 claimed while 'cxioctl' sets config #1
Dec 2 16:22:42 opopomoz pppd[3542]: LCP: timeout sending Config-Requests
Dec 2 16:23:16 opopomoz pppd[3542]: LCP: timeout sending Config-Requests
Dec 2 16:24:24 opopomoz last message repeated 2 times
Dec 2 16:24:58 opopomoz pppd[3542]: LCP: timeout sending Config-Requests
Dec 2 16:26:06 opopomoz last message repeated 2 times
Dec 2 16:27:15 opopomoz last message repeated 2 times
Dec 2 16:28:23 opopomoz last message repeated 2 times
Dec 2 16:28:57 opopomoz pppd[3542]: LCP: timeout sending Config-Requests
ilsensine
02-12-2004, 21:46
Ah quindi pppd prova a inviare pacchetti lcp, ma il peer non se lo caga...potrebbe essere un problema del driver.
Intanto, per escludere definitivamente problemi grossolani di pppd, dovresti riprodurre il "malfunzionamento" con lo stesso file options di una macchina funzionante. Temo che non ti sarà difficile.
Poi cominceremo a indagare su questo:
usb 3-2.2: usbfs: interface 0 claimed while 'cxioctl' sets config #1
che è l'unico indizio concreto che abbiamo. Verifica anche che questo messaggio non è presente sul PC funzionante.
AnonimoVeneziano
03-12-2004, 17:17
Ovviamente controlla di non aver dimenticato qualcosa di fondamentale nel Kernel ,come ad esempio il supporto ATM o robe del genere :D
Ciao
Originariamente inviato da ilsensine
Ah quindi pppd prova a inviare pacchetti lcp, ma il peer non se lo caga...potrebbe essere un problema del driver.
Intanto, per escludere definitivamente problemi grossolani di pppd, dovresti riprodurre il "malfunzionamento" con lo stesso file options di una macchina funzionante. Temo che non ti sarà difficile.
Poi cominceremo a indagare su questo:
che è l'unico indizio concreto che abbiamo. Verifica anche che questo messaggio non è presente sul PC funzionante.
allora, per quel che riguarda il file "options" l'unica cosa che faccio è aggiungere quelle righe scritte sull'how to, per cui il file è lo stesso sia nella macchina in cui il modem funziona sia in quella in cui non funziona .
per quanto riguarda la stringa che compare in /var/log/syslog, sul PC dove il modem funziona non compare,come mi hai chiesto di controllare...
ilsensine
03-12-2004, 21:05
Intanto applica questa patch al driver. Corregge una incompatibilità con i kernel della serie 2.6.8 (non so se anche qualcuno dei precedenti).
Importante (1): I test falli con il driver di debug cxacrudbg.ko; ci darà qualche messaggio in più.
Importante (2): ho fatto la patch in fretta, il driver patchato potrebbe non funzionare sui kernel 2.4 (anzi non dovrebbe funzionare)
ilsensine
03-12-2004, 21:08
mmm -ENOPATCH, m'ha perso l'allegato
La scrivo in linea, è così banale che la puoi applicare a mano:
diff -urN --exclude-from=dontdiff cxacru.org/module2/xdslusb.c cxacru/module2/xdslusb.c
--- cxacru.org/module2/xdslusb.c 2003-09-17 11:50:43.000000000 +0200
+++ cxacru/module2/xdslusb.c 2004-12-03 22:05:50.060062112 +0100
@@ -351,7 +351,7 @@
/* ATM */
static void udsl_atm_dev_close (struct atm_dev *dev);
-static int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci);
+static int udsl_atm_open (struct atm_vcc *vcc);
static void udsl_atm_close (struct atm_vcc *vcc);
static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void *arg);
static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb);
@@ -990,19 +990,19 @@
return 0;
}
-static int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci)
+static int udsl_atm_open (struct atm_vcc *vcc)
{
struct udsl_instance_data *instance = vcc->dev->dev_data;
struct udsl_vcc_data *new;
- dbg ("udsl_atm_open: vpi %hd, vci %d", vpi, vci);
+ dbg ("udsl_atm_open: vpi %hd, vci %d", vcc->vpi, vcc->vci);
if (!instance || !instance->usb_dev) {
dbg ("udsl_atm_open: NULL data!");
return -ENODEV;
}
- if ((vpi == ATM_VPI_ANY) || (vci == ATM_VCI_ANY))
+ if ((vcc->vpi == ATM_VPI_ANY) || (vcc->vci == ATM_VCI_ANY))
return -EINVAL;
/* only support AAL5 */
@@ -1016,7 +1016,7 @@
down (&instance->serialize); /* vs self, udsl_atm_close */
- if (udsl_find_vcc (instance, vpi, vci)) {
+ if (udsl_find_vcc (instance, vcc->vpi, vcc->vci)) {
up (&instance->serialize);
return -EADDRINUSE;
}
@@ -1028,13 +1028,11 @@
memset (new, 0, sizeof (struct udsl_vcc_data));
new->vcc = vcc;
- new->vpi = vpi;
- new->vci = vci;
+ new->vpi = vcc->vpi;
+ new->vci = vcc->vci;
new->max_pdu = max (1, UDSL_NUM_CELLS (vcc->qos.rxtp.max_sdu)) * ATM_CELL_PAYLOAD;
vcc->dev_data = new;
- vcc->vpi = vpi;
- vcc->vci = vci;
tasklet_disable (&instance->receive_tasklet);
list_add (&new->list, &instance->vcc_list);
Originariamente inviato da ilsensine
mmm -ENOPATCH, m'ha perso l'allegato
La scrivo in linea, è così banale che la puoi applicare a mano:
diff -urN --exclude-from=dontdiff cxacru.org/module2/xdslusb.c cxacru/module2/xdslusb.c
--- cxacru.org/module2/xdslusb.c 2003-09-17 11:50:43.000000000 +0200
+++ cxacru/module2/xdslusb.c 2004-12-03 22:05:50.060062112 +0100
@@ -351,7 +351,7 @@
/* ATM */
static void udsl_atm_dev_close (struct atm_dev *dev);
-static int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci);
+static int udsl_atm_open (struct atm_vcc *vcc);
static void udsl_atm_close (struct atm_vcc *vcc);
static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void *arg);
static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb);
@@ -990,19 +990,19 @@
return 0;
}
-static int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci)
+static int udsl_atm_open (struct atm_vcc *vcc)
{
struct udsl_instance_data *instance = vcc->dev->dev_data;
struct udsl_vcc_data *new;
- dbg ("udsl_atm_open: vpi %hd, vci %d", vpi, vci);
+ dbg ("udsl_atm_open: vpi %hd, vci %d", vcc->vpi, vcc->vci);
if (!instance || !instance->usb_dev) {
dbg ("udsl_atm_open: NULL data!");
return -ENODEV;
}
- if ((vpi == ATM_VPI_ANY) || (vci == ATM_VCI_ANY))
+ if ((vcc->vpi == ATM_VPI_ANY) || (vcc->vci == ATM_VCI_ANY))
return -EINVAL;
/* only support AAL5 */
@@ -1016,7 +1016,7 @@
down (&instance->serialize); /* vs self, udsl_atm_close */
- if (udsl_find_vcc (instance, vpi, vci)) {
+ if (udsl_find_vcc (instance, vcc->vpi, vcc->vci)) {
up (&instance->serialize);
return -EADDRINUSE;
}
@@ -1028,13 +1028,11 @@
memset (new, 0, sizeof (struct udsl_vcc_data));
new->vcc = vcc;
- new->vpi = vpi;
- new->vci = vci;
+ new->vpi = vcc->vpi;
+ new->vci = vcc->vci;
new->max_pdu = max (1, UDSL_NUM_CELLS (vcc->qos.rxtp.max_sdu)) * ATM_CELL_PAYLOAD;
vcc->dev_data = new;
- vcc->vpi = vpi;
- vcc->vci = vci;
tasklet_disable (&instance->receive_tasklet);
list_add (&new->list, &instance->vcc_list);
scusa se non t'ho risposto prima, impegni di lavoro mi tengono lontano dal forum sti giorni....grazie 10000000 per la patch, domani sera appena torno dal lavoro provo ad applicarla!! GRazie ancora!
allora, dopo che alcuni giorni di lavoro ad influenza mi hanno tenuto distante dalla mia postazione linux, sono tornato stamattina e ho provato ad applicare la patch che mi hai dato molto gentilmente tu....
ora l'errore risultante è il seguente:
usbcore: registered new driver xdslusb
Dec 9 10:42:53 opopomoz pppd[4532]: Plugin /home/dave/Desktop/usr/src/ppp-2.4.2/pppd/plugins/pppoa/pppoatm.so loaded.
Dec 9 10:42:53 opopomoz pppd[4532]: In pppoatm_process_extra_options
Dec 9 10:42:53 opopomoz pppd[4532]: In pppoatm_check_options
Dec 9 10:42:53 opopomoz pppd[4533]: pppd 2.4.2 started by root, uid 0
Dec 9 10:42:53 opopomoz pppd[4533]: In pppoatm_connect
Dec 9 10:42:53 opopomoz pppd[4533]: In pppoatm_establish_ppp
Dec 9 10:42:53 opopomoz pppd[4533]: Using interface ppp0
Dec 9 10:42:53 opopomoz pppd[4533]: Connect: ppp0 <--> 8.35
Dec 9 10:42:53 opopomoz pppd[4533]: In pppoatm_send_config
Dec 9 10:42:53 opopomoz pppd[4533]: In pppoatm_recv_config
Dec 9 10:42:56 opopomoz pppd[4533]: In pppoatm_send_config
Dec 9 10:42:56 opopomoz pppd[4533]: In pppoatm_recv_config
Dec 9 10:42:57 opopomoz pppd[4533]: EAP: unauthenticated peer name "r-ve056"
Dec 9 10:42:57 opopomoz pppd[4533]: LCP terminated by peer
Dec 9 10:42:57 opopomoz pppd[4533]: In pppoatm_send_config
Dec 9 10:42:57 opopomoz pppd[4533]: In pppoatm_recv_config
Dec 9 10:43:00 opopomoz pppd[4533]: Connection terminated.
capito l'inghippo?
ilsensine
09-12-2004, 10:00
No; questo
Dec 9 10:42:57 opopomoz pppd[4533]: EAP: unauthenticated peer name "r-ve056"
mi farebbe pensare a un "auth" del file di configurazione di pppd.
ilsensine
09-12-2004, 10:01
Comunque continuo a non vedere i pacchetti lcp scambiati; sicuro di aver abilitato il debug in pppd?
ilsensine
09-12-2004, 10:06
Nota che se riceve il nome del peer, è indice che il driver in kernel space ha ripreso a funzionare. Forse la mia patch è stata sufficiente; ora il problema sembra essere in user space, ma finché non vedo informazioni sui pacchetti lcp non posso essere più preciso.
non ci crederai mai...ho tolto l'opzione "auth" e ho attivato "noauth" per consentire al peer di non autenticarsi....quindi ho lanciato il driver e....
pppd 2.4.2 started by root, uid 0
In pppoatm_connect
In pppoatm_establish_ppp
Using interface ppp0
Connect: ppp0 <--> 8.35
....suspance.....
In pppoatm_send_config
In pppoatm_recv_config
In pppoatm_send_config
In pppoatm_recv_config
:sperem:
PAP authentication succeeded
PPP BSD Compression module registered
PPP Deflate Compression module registered
local IP address 82.52.xxx.xxx
remote IP address 192.xxx.xxx.xxx
:yeah: :winner: :winner: :cincin: :mano:
ilsensine
09-12-2004, 11:39
Bene, bene.
Per ultimo, ecco la patch (non testata) che dovrebbe funzionare indipendentemente dalla versione del kernel:
diff -urN cxacru.org/module2/xdslusb.c cxacru/module2/xdslusb.c
--- cxacru.org/module2/xdslusb.c 2003-09-17 11:50:43.000000000 +0200
+++ cxacru/module2/xdslusb.c 2004-12-09 12:25:17.000000000 +0100
@@ -357,9 +357,19 @@
static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb);
static int udsl_atm_proc_read (struct atm_dev *atm_dev, loff_t *pos, char *page);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
+#define __udsl_atm_open udsl_atm_open
+#else
+static int __udsl_atm_open(struct atm_vcc *vcc)
+{
+ return udsl_atm_open(vcc, vcc->vpi, vcc->vci);
+}
+
+#endif
+
static struct atmdev_ops udsl_atm_devops = {
.dev_close = udsl_atm_dev_close,
- .open = udsl_atm_open,
+ .open = __udsl_atm_open,
.close = udsl_atm_close,
.ioctl = udsl_atm_ioctl,
.send = udsl_atm_send,
Mi chiedo come abbia fatto la gente a usare questo driver con il kernel 2.6...forse esiste una versione cvs più aggiornata?
Originariamente inviato da ilsensine
Bene, bene.
Per ultimo, ecco la patch (non testata) che dovrebbe funzionare indipendentemente dalla versione del kernel:
diff -urN cxacru.org/module2/xdslusb.c cxacru/module2/xdslusb.c
--- cxacru.org/module2/xdslusb.c 2003-09-17 11:50:43.000000000 +0200
+++ cxacru/module2/xdslusb.c 2004-12-09 12:25:17.000000000 +0100
@@ -357,9 +357,19 @@
static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb);
static int udsl_atm_proc_read (struct atm_dev *atm_dev, loff_t *pos, char *page);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
+#define __udsl_atm_open udsl_atm_open
+#else/
+static int __udsl_atm_open(struct atm_vcc *vcc)
+{
+ return udsl_atm_open(vcc, vcc->vpi, vcc->vci);
+}
+
+#endif
+
static struct atmdev_ops udsl_atm_devops = {
.dev_close = udsl_atm_dev_close,
- .open = udsl_atm_open,
+ .open = __udsl_atm_open,
.close = udsl_atm_close,
.ioctl = udsl_atm_ioctl,
.send = udsl_atm_send,
Mi chiedo come abbia fatto la gente a usare questo driver con il kernel 2.6...forse esiste una versione cvs più aggiornata?
Non l'ho testata su altri kernel, però sul 2.6.9 funziona a meraviglia...magari potrei fare un "how to" da condividere con tutti quelli che sono interessati, e metterlo su un qualche indirizzo internet....appena ho un minuto lo faccio, naturalmente mettendo a chiari caratteri cubitali chi si deve ringraziare per tutto cio (;) ), sempre se sei d'accordo, ovvio....
ilsensine
09-12-2004, 13:50
Non ho fatto nulla che non fosse alla portata di qualsiasi programmatore. La modifica è veramente triviale.
Sarebbe "comodo" se impacchetti su qualche spazio web il driver già patchato, insieme alle utility necessarie.
Originariamente inviato da ilsensine
Non ho fatto nulla che non fosse alla portata di qualsiasi programmatore. La modifica è veramente triviale.
Sarebbe "comodo" se impacchetti su qualche spazio web il driver già patchato, insieme alle utility necessarie.
intendevo proprio questo...ma naturalmente non sminuire quello che hai fatto, poichè anche se semplice, tu almeno l'hai fatto, ed è questo che conta....
D4rkAng3l
11-12-2004, 10:33
io ho grossi problemi ad installare un hdsl640s dellahamlet...va bene lo stesso questo materiale?
Originariamente inviato da D4rkAng3l
io ho grossi problemi ad installare un hdsl640s dellahamlet...va bene lo stesso questo materiale?
per quello dovrebbero esserci i driver della stessa Hamlet (http://www.hamletcom.com/driver.asp?id=936) ...comunque puoi provare lo stesso, magari fra un po' impacchetto il tutto e lo rendo disponibile su un sito....
D4rkAng3l
11-12-2004, 10:44
leggi quà e capirai...
http://forum.hwupgrade.it/showthread.php?s=&threadid=833696
:rolleyes:
Originariamente inviato da D4rkAng3l
leggi quà e capirai...
http://forum.hwupgrade.it/showthread.php?s=&threadid=833696
:rolleyes:
è abbastanza triste notare che le cose a volte funzionano meglio col fai da te, che non col corredo della ditta produttrice :rolleyes: ....beh dai, sei in buone mani...
ciao a tutti ho installato alcuni giorni fandrake 10.1 ed è parecchi giorni che cerco di installare il mio modem un conexant accessrunner PCI ADSL ho letto diversi guide ma non ci sono riuscito, volevo sapere se il metodo scritto qui in questo thread può andare bene anche per il mio modem.
Originariamente inviato da NICKSSJ
ciao a tutti ho installato alcuni giorni fandrake 10.1 ed è parecchi giorni che cerco di installare il mio modem un conexant accessrunner PCI ADSL ho letto diversi guide ma non ci sono riuscito, volevo sapere se il metodo scritto qui in questo thread può andare bene anche per il mio modem.
i driver di cui qui si parla sono per l'interfaccia USB, quindi non so se funziano anche per il PCI, dovresti provare
ilsensine
15-12-2004, 10:31
Originariamente inviato da NICKSSJ
ciao a tutti ho installato alcuni giorni fandrake 10.1 ed è parecchi giorni che cerco di installare il mio modem un conexant accessrunner PCI ADSL ho letto diversi guide ma non ci sono riuscito, volevo sapere se il metodo scritto qui in questo thread può andare bene anche per il mio modem.
Tutt'altra bestia. Qui c'è una pseudo guida in italiano:
http://web.tiscali.it/yogworld/
NON funzionerà sulla tua Mandrake, te lo anticipo. Il driver non è libero, quindi non ci metto mano.
Qui c'è una versione del driver che potrebbe funzionare:
http://www.wlug.org.nz/AccessRunnerADSLModem
Buona fortuna (e non comprate più roba Conexant in futuro).
e propio quella la guida che ho seguito ma quando eseguo il comando ./cnxadslctl start esce questo
Starting AccessRunner
FATAL: Module CnxADSL not found.
Download Starting.
bad ioctl 400c2504, Status=ffffffff
send user parameters (SendUserParams) failed, NTStatus=c000000
Originariamente inviato da ilsensine
Tutt'altra bestia. Qui c'è una pseudo guida in italiano:
http://web.tiscali.it/yogworld/
NON funzionerà sulla tua Mandrake, te lo anticipo. Il driver non è libero, quindi non ci metto mano.
Qui c'è una versione del driver che potrebbe funzionare:
http://www.wlug.org.nz/AccessRunnerADSLModem
Buona fortuna (e non comprate più roba Conexant in futuro).
il problema è che tante volte non c'è modo di sapere prima che chip ci sia dentro al device, a meno che non si faccia una ricerca "approfondita"
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.