YES :-)!!
It's working as I write... There still some strange stuff but it works. Still had to change the timeout to (at least) 1000 in this instance.
I include the syslog and the ppd log for reference.
I'll do reliability tests as soon as I can stay close to the machine long enough (It's my server, so I need it up 24/7)
Aug 31 00:35:24 [kernel] usb 2-1: new full speed USB device using ohci_hcd and address 2
Aug 31 00:35:25 [kernel] NET: Registered protocol family 8
Aug 31 00:35:25 [kernel] NET: Registered protocol family 20
Aug 31 00:35:25 [kernel] [ueagle-atm] driver ueagle-svn $Id: ueagle.c 129 2005-08-30 13:17:54Z matc $ loaded
Aug 31 00:35:25 [kernel] usb 2-1: [ueagle-atm] ADSL device founded vid (0X5CC) pid (0X3351)
Aug 31 00:35:25 [kernel] usb 2-1: reset full speed USB device using ohci_hcd and address 2
Aug 31 00:35:25 [kernel] usb 2-1: [ueagle-atm] pre-firmware device, uploading firmware
Aug 31 00:35:26 [kernel] usb 2-1: [ueagle-atm] firmware uploaded
Aug 31 00:35:26 [kernel] usbcore: registered new driver ueagle-atm
Aug 31 00:35:26 [kernel] usb 2-1: USB disconnect, address 2
Aug 31 00:35:29 [kernel] usb 2-1: new full speed USB device using ohci_hcd and address 3
Aug 31 00:35:32 [kernel] usb 2-1: [ueagle-atm] ADSL device founded vid (0X5CC) pid (0X3350)
Aug 31 00:35:32 [kernel] usb 2-1: reset full speed USB device using ohci_hcd and address 3
Aug 31 00:35:33 [kernel] usb 2-1: [ueagle-atm] ADSL device founded vid (0X5CC) pid (0X3350)
Aug 31 00:35:33 [kernel] usb 2-1: reset full speed USB device using ohci_hcd and address 3
Aug 31 00:35:35 [kernel] usb 2-1: [ueagle-atm] created proc entry at: /proc/driver/ueagle-atm/002-003
Aug 31 00:35:35 [kernel] usb 2-1: [ueagle-atm] (re)booting started
Aug 31 00:35:37 [kernel] usb 2-1: [UEAGLE-ATM] [ueagle-atm] pre 21340, dir 1, func 2, subfunc 2,index 1, address 0, offset 0
Aug 31 00:35:50 [kernel] usb 2-1: [ueagle-atm] modem operational
Aug 31 00:35:51 [kernel] usb 2-1: [ueagle-atm] ATU-R firmware version : 311dbe47
Aug 31 00:35:52 [kernel] usb 2-1: [UEAGLE-ATM] usb_control_msg error -32
Aug 31 00:35:52 [kernel] usb 2-1: [ueagle-atm] setting new timeout 1
pppd call ueagle logfd 2 nodetach debug dump
Plugin pppoatm.so loaded.
In pppoatm_process_extra_options
In options_for_pppoatm
In pppoatm_check_options
pppd options in effect:
debug # (from command line)
nodetach # (from command line)
persist # (from /etc/ppp/peers/ueagle)
logfd 2 # (from command line)
dump # (from command line)
plugin pppoatm.so # (from /etc/ppp/peers/ueagle)
noauth # (from /etc/ppp/peers/ueagle)
user ampz0004@WANADOO # (from /etc/ppp/peers/ueagle)
8.35 # (from /etc/ppp/peers/ueagle)
noaccomp # (from /etc/ppp/peers/ueagle)
-am # (from /etc/ppp/peers/ueagle)
nopcomp # (from /etc/ppp/peers/ueagle)
novj # (from /etc/ppp/peers/ueagle)
novjccomp # (from /etc/ppp/peers/ueagle)
noipdefault # (from /etc/ppp/peers/ueagle)
defaultroute # (from /etc/ppp/peers/ueagle)
usepeerdns # (from /etc/ppp/peers/ueagle)
nobsdcomp # (from /etc/ppp/peers/ueagle)
nodeflate # (from /etc/ppp/peers/ueagle)
In pppoatm_connect
In pppoatm_establish_ppp
using channel 1
Using interface ppp0
Connect: ppp0 <--> 8.35
In pppoatm_do_send_config
In pppoatm_recv_config
sent [LCP ConfReq id=0x1 <magic 0xe8129e91>]
rcvd [LCP ConfReq id=0x81 <mru 1500> <auth chap MD5> <magic 0x3a74d091>]
sent [LCP ConfAck id=0x81 <mru 1500> <auth chap MD5> <magic 0x3a74d091>]
rcvd [LCP ConfAck id=0x1 <magic 0xe8129e91>]
In pppoatm_do_send_config
In pppoatm_recv_config
rcvd [CHAP Challenge id=0x1 <e8ef401a539a4dacbd54d191ed310622>, name = "BAS-MARAIS"]
sent [CHAP Response id=0x1 <27834b8de6516f6065adcc34be81bb76>, name = "ampz0004@WANADOO"]
rcvd [CHAP Success id=0x1 "CHAP authentication success, unit 2919"]
CHAP authentication succeeded: CHAP authentication success, unit 2919
sent [CCP ConfReq id=0x1 <mppe -H -M -S -L -D +C>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0xb <addr 83.134.32.1>]
sent [IPCP ConfAck id=0xb <addr 83.134.32.1>]
rcvd [LCP ProtRej? id=0x82 80 fd 01 01 00 0a 12 06 00 00 00 01]
rcvd [IPCP ConfNak? id=0x1 <addr 83.134.32.37> <ms-dns1 62.235.14.4> <ms-dns3 62.235.13.199>]
sent [IPCP ConfReq id=0x2 <addr 83.134.32.37> <ms-dns1 62.235.14.4> <ms-dns3 62.235.13.199>]
rcvd [IPCP ConfAck id=0x2 <addr 83.134.32.37> <ms-dns1 62.235.14.4> <ms-dns3 62.235.13.199>]
local IP address 83.134.32.37
remote IP address 83.134.32.1
primary DNS address 62.235.14.4
secondary DNS address 62.235.13.199
In pppoatm_close
Script /etc/ppp/ip-up started (pid 9333)
Script /etc/ppp/ip-up finished (pid 9333), status = 0x1
Ok, so here I am again trying to make the Elsa Microlink Usb modem working under Linux. I've been wondering numerous times why I didn't bought a supported modem or an adsl router rather than keeping this old, unsupported thingy. But, hey..., where would be the fun :-) I just wonder if someone else in the world is trying to use it with Linux...
Note that, as I didn't succeed to have ueagle working for me so far, I'm using a patched (by myself) Eagle-Usb v2.0 module now.
Note also that I'm far from a kernel guru, so any patches I could make are entirely empirical (meaning I basically don't know what I'm doing ;-)
Config:
- Gentoo 2.6.12-r6
- Elsa Microlink
- ueagle 1.0.0b
The following info is taken from a working Gentoo 2.6.10-r9 + eagle-usb
lspci:
0000:00:00.0 Host bridge: Silicon Integrated Systems [
SiS?] 651 Host (rev 02)
0000:00:01.0 PCI bridge: Silicon Integrated Systems [
SiS?] Virtual PCI-to-PCI bridge (AGP)
0000:00:02.0 ISA bridge: Silicon Integrated Systems [
SiS?]
SiS962? [
MuTIOL? Media IO] (rev 14)
0000:00:02.1 SMBus: Silicon Integrated Systems [
SiS?]
SiS961?/2 SMBus Controller
0000:00:02.3
FireWire? (IEEE 1394): Silicon Integrated Systems [
SiS?]
FireWire? Controller
0000:00:02.5 IDE interface: Silicon Integrated Systems [
SiS?] 5513 [IDE]
0000:00:02.7 Multimedia audio controller: Silicon Integrated Systems [
SiS?] Sound Controller (rev a0)
0000:00:03.0 USB Controller: Silicon Integrated Systems [
SiS?] USB 1.0 Controller (rev 0f)
0000:00:03.1 USB Controller: Silicon Integrated Systems [
SiS?] USB 1.0 Controller (rev 0f)
0000:00:03.2 USB Controller: Silicon Integrated Systems [
SiS?] USB 1.0 Controller (rev 0f)
0000:00:03.3 USB Controller: Silicon Integrated Systems [
SiS?] USB 2.0 Controller
0000:00:0e.0 Multimedia video controller: Internext Compression Inc iTVC15 MPEG-2 Encoder (rev 01)
0000:00:0f.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)
0000:00:10.0
CardBus? bridge: ENE Technology Inc CB-710/2/4 Cardbus Controller (rev 01)
0000:00:10.1 FLASH memory: ENE Technology Inc CB710 Memory Card Reader Controller
0000:00:13.0 Multimedia controller: Philips Semiconductors SAA7134 (rev 01)
0000:01:00.0 VGA compatible controller: Silicon Integrated Systems [
SiS?] 65x/M650/740 PCI/AGP VGA Display Adapter
lsusb:
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 003: ID 05cc:3350 ELSA AG
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 0a5c:200a Broadcom Corp.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
/proc/bus/usb/devices
T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12
MxCh?= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00
MxPS?= 8 #Cfgs= 1
P: Vendor=0000
ProdID?=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.10-gentoo-r6 ohci_hcd
S: Product=Silicon Integrated Systems [
SiS?] USB 1.0 Controller (#3)
S:
SerialNumber?=0000:00:03.2
C:* #Ifs= 1 Cfg#= 1 Atr=c0
MxPwr?= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.)
MxPS?= 2 Ivl=255ms
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12
MxCh?= 2
B: Alloc= 35/900 us ( 4%), #Int= 1, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00
MxPS?= 8 #Cfgs= 1
P: Vendor=0000
ProdID?=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.10-gentoo-r6 ohci_hcd
S: Product=Silicon Integrated Systems [
SiS?] USB 1.0 Controller (#2)
S:
SerialNumber?=0000:00:03.1
C:* #Ifs= 1 Cfg#= 1 Atr=c0
MxPwr?= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.)
MxPS?= 2 Ivl=255ms
T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12
MxCh?= 0
D: Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00
MxPS?=64 #Cfgs= 1
P: Vendor=05cc
ProdID?=3350 Rev=20.01
S: Product=ADSL-USB Modem
S:
SerialNumber?=0123-4567
C:* #Ifs= 2 Cfg#= 1 Atr=a0
MxPwr?=500mA
I: If#= 1 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=07 Prot=00 Driver=eagle-usb
E: Ad=84(I) Atr=03(Int.)
MxPS?= 32 Ivl=1ms
I: If#= 0 Alt= 0 #EPs= 3 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
E: Ad=82(I) Atr=02(Bulk)
MxPS?= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk)
MxPS?= 64 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk)
MxPS?= 64 Ivl=0ms
I: If#= 0 Alt= 1 #EPs= 3 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
E: Ad=82(I) Atr=02(Bulk)
MxPS?= 64 Ivl=0ms
E: Ad=02(O) Atr=03(Int.)
MxPS?= 64 Ivl=1ms
E: Ad=04(O) Atr=02(Bulk)
MxPS?= 64 Ivl=0ms
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12
MxCh?= 2
B: Alloc= 22/900 us ( 2%), #Int= 1, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00
MxPS?= 8 #Cfgs= 1
P: Vendor=0000
ProdID?=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.10-gentoo-r6 ohci_hcd
S: Product=Silicon Integrated Systems [
SiS?] USB 1.0 Controller
S:
SerialNumber?=0000:00:03.0
C:* #Ifs= 1 Cfg#= 1 Atr=c0
MxPwr?= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.)
MxPS?= 2 Ivl=255ms
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12
MxCh?= 0
D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01
MxPS?=64 #Cfgs= 1
P: Vendor=0a5c
ProdID?=200a Rev= 0.01
S: Manufacturer=Broadcom
S: Product=BCM92035DGROM
S:
SerialNumber?=000EA1336F37
C:* #Ifs= 3 Cfg#= 1 Atr=a0
MxPwr?=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=81(I) Atr=03(Int.)
MxPS?= 16 Ivl=1ms
E: Ad=82(I) Atr=02(Bulk)
MxPS?= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk)
MxPS?= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc)
MxPS?= 0 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc)
MxPS?= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc)
MxPS?= 9 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc)
MxPS?= 9 Ivl=1ms
I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc)
MxPS?= 17 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc)
MxPS?= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc)
MxPS?= 32 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc)
MxPS?= 32 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc)
MxPS?= 64 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc)
MxPS?= 64 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc)
MxPS?= 64 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc)
MxPS?= 64 Ivl=1ms
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=84(I) Atr=02(Bulk)
MxPS?= 32 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk)
MxPS?= 32 Ivl=0ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480
MxCh?= 6
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01
MxPS?= 8 #Cfgs= 1
P: Vendor=0000
ProdID?=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.10-gentoo-r6 ehci_hcd
S: Product=Silicon Integrated Systems [
SiS?] USB 2.0 Controller
S:
SerialNumber?=0000:00:03.3
C:* #Ifs= 1 Cfg#= 1 Atr=e0
MxPwr?= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.)
MxPS?= 2 Ivl=256ms
Problem reports:
0) "setting any alternate failed for 2 interface, using bulk mode"
Not a problem, a fact. Always been using bulk mode with the elsa
1) "firmware ueagle-atm/adi930.fw is not available"
Well, looks like ueagle insists that the firmware be in a "ueagle-atm/" subdirectory of the hotplug firmware lib ("/lib/firmware" for me).
Not documented or I missed it ;-)
2) "interface 2 not found"
It looks like the elsa do not have this second interface, so, when ueagle tries to claim it, it obviously fail.
I have to comment the interface claim to go further ("//ret = claim_interface(usb, usbatm, UEA_DS_IFACE_NO);")
I have no idea what these interfaces are. The point is that I had to do the same thing in Eagle-Usb and it worked like this.
MatthieuCastet? : that's strange because on eagle this interface is reponsible for incomming data, with /proc/bus/usb/devices it should be more clear
MatthieuCastet? : ok, ADI930 have only 2 interface. FIX in svn.
3) "elsa de-reset failure (-110)"
This one is related to the loading of the xilinx fpga (ie. the singularity of the elsa).
To "de-reset the elsa", you really have to terminate with a 0x0A as the command parameter of the usb_control_msg, otherwise, no go.
MatthieuCastet? : could you elaborate a bit more where you put this code ?
In the code I get from sourceforge, you nerver use that, or I missed it ;)
ChrisBrowet?: Honestly, do not remember what was in the original code.
Here is what I finally did in your code:
u8 value=0;
ret = uea_send_modem_cmd(sc->usb_dev, 0xe, 1, &value);
//ret = uea_request_xilinx_end(sc, 0xe, 1, 0, NULL);
MatthieuCastet? : should be fixed in svn.
4) "writing cmv failed with error -110"
We're progressing. If I'm here, I assume the DSP loading worked without error.
This is were I stopped last night. Unfortunately, I'm a bit worried because I had the same problem with Eagle-Usb: CMV is not working.
I must say I didn't insisted at the time, as eagle-usb.conf worked perfectly. I hope I can find a workaround...
MatthieuCastet? : maybe elsa modem don't support CMV or manage it differently.
What happen if in uea_write_cmv you always return 0 ? If there are some error for reading CMV, return also 0 in uea_read_cmv.
ChrisBrowet?: Still trying on this one. When sending a CMV, I receive one with a function=2, sub-function=2 which according to
eagle-usb code, should mean msg decoding error due to wrong preamble?? Was trying all day and, at one point, it suceeded to send
7 CMV before giving me a func=3 sub-func=1. It only happened once, unfortunately, and I couldn't find a pattern.
ChristianBrowet?: Update. By removing all error checking in the uea_dispatch_cmv function, I come to the point where the modem is operational (apparently...).
Here is the /Proc... Did not succeed (yet) in connecting, though. To be continued....
ueagle-atm status display
Driver version ueagle-svn $Id: ueagle.c 103 2005-07-20 17:28:21Z matc $ Chipset: Eagle0
Vendor ID : 0x5cc Product ID : 0x3350 Rev: 0x2001(pots)
USB Bus : 002 USB Device : 003 Dbg : 0x0
Tx Rate 512 Rx Rate 4640
Tx Margin 18 Rx Margin 22
Tx Atten 10 dB Rx Atten 9 dB
Tx error 0 Rx error 0
Tx FEC 0 Rx FEC 0
Tx flow 0 Rx flow 4760517
VID-CPE 28 VID-ITU 445600000000414e
Delin GOOD Flags 0000000000
Modem is operational
to be compared to a working eagle-usb
eagle-usb status display
Driver version 2 Chipset: Eagle1
Vendor ID : 0x5cc Product ID : 0x3350 Rev: 0x2001
USB Bus : 002 USB Device : 005 Dbg mask: 0x0
Ethernet Interface : eth1
MAC: 00:a0:57:05:9f:2c
Tx Rate 512 Rx Rate 4640
FEC 0 Margin 24 Atten 9 dB
VID-CPE 0 VID-CO 28 HEC 0
VPI 8 VCI 35 Delin GOOD
Cells Tx 6427 Cells Rx 8246
Pkts Tx 1435 Pkts Rx 1428
OAM 0 Bad VPI 0 Bad CRC 0
Oversiz. 0
Modem is operational
4bis) "usb_control_msg error -110" when executing uea_request(sc, UEA_SET_MODE, UEA_START_RESET, 0, NULL);
I'm nowhere on this one. The process seems to continue fine but could be the cause for 4).
This is strange as the code seems to be functionnally identical to eagle-usb...
MatthieuCastet? : could you try to increase CTRL_TIMEOUT ins ueagle.h. try 4000 for example.
ChristianBrowet?: Ok, that did the trick