Linux Westell Monitoring Utilities.

Westell does not offer telnet, ftp or SNMP in their products making it very hard to collect ADSL line statistical data when the collecting program is not running in Windows.

One obscure and undocumented method for collecting data in Westell modems is via multicasting streams. Multicasting streams use a special IP address in the following range 224.0.0.0 - 224.0.0.255 (224.0.0/24) Local Network Control Block. A device called a Client can join a multicasting stream or group by sending IGMP (Internet Group Management Protocol) packets to the server ( Westell 6100 ) requesting to join the group. The server reacts to the join request by activating the multicast stream. The multicast stream is in the form of UDP packets with a destination address of 224.73.193.62 using port 1875.

A monitoring program can be set to listen and intercept the multicast stream. Once the packets are intercepted the monitoring program can decode the encapsulated data payload. The following table shows some of the already identified parameters present in the data payload. The data payload for the 6100 is 120 bytes long and starts at 0x2A or 42 decimal in the multicast packet.


Packet Offset Data Payload Offset Description Units Size (bytes)
42 00 Unknown Data NA 3
45 03 Modem Status  Note 1  NA 1
46 04 Up Time Counter Seconds 4
50 08 Upstream Noise Marging ( SNR ) db x 10 2
52 10 Upstream Power Output dbm x 10 2
54 12 Upstream Attenuation db x 10 2
56 14 Upstream Sync Rate kbps 2
58 16 Downstream Noise Marging ( SNR ) db x 10 2
60 18 Downstream Power Output dbm x 10 2
62 20 Downstream Attenuation db x 10 2
64 22 Downstream Sync Rate kbps 2
66 24 FEC Errors counter 4
70 28 CRC Errors counter 4
74 32 HEC Errors counter 4
78 36 Signal Lost counter 4
82 40 Frame Lost counter 4
86 44 TX User Traffic Cell Count counter 4
90 48 RX User Traffic Cell Count counter 4
94 52 Invalid Dropped Cells counter 4
98 56 OAM Control Cells counter 4
102 60 0/21 Loopback counter 4
106 64 Encapsulation Type ( RFC2684, RFC2364, etc ) numeric 2
108 66 RX AAL PDU counter 4
112 70 TX AAL PDU counter 4
116 74 Unknown Data NA 24
140 98 Ethernet RX Frames counter 4
144 102 Ethernet TX Frames counter 4
148 106 Ethernet Discarded Frames counter 4
152 110 Unknown Data NA 10

Westell modems require a special UDP packet exchange to start the multicast stream, joining the multicast 224.73.193.62 group is not enough to start the process. The client must send the correct sequence of UDP packets to the modem broadcast address. The following tables show this UDP packet exchange:

Client sends 1 UDP packet with source port 1486 and destination port 2420 data = 0x00,0x0c,0x00
6100 replies with 1 UDP packet with the model number and serial number.

Client sends 1 UDP packet with source port 1486 destination port 2420 data = 0x00,0x01,0x00
6100 replies with 1 UDP packet with firmware version and data pump version.

Client sends 1 UDP packet with source port 1487 destination port 2420 data = 0x00,0x0c,0x00
6100 replies with 1 UDP packet with the model number and serial number.

Client sends 1 UDP packet with source port 1487 destination port 2420 data = 0x00,0x06
6100 replies with 1 UDP packet with adsl chipset information.

Client sends 1 UDP packet with source port 1875 destination port 1875 data = 0x00,0x30,0x01,0xe0,0x49,0xc1,0x3e
6100 starts multicast stream.

To stop the multicast stream a single UDP packet is needed:

Client sends 1 UDP packet with source port 1875 destination port 1875 data = 0x00,0x30,0x00
6100 stops multicast stream.

The previously mentioned packets act like a master switch to enable or disable the multicast stream. Joining the 224.73.193.62 group without the UDP start sequence will not start the multicast stream.


Linux monitoring utilities:

start6100 Start (enable) multicast stream utility.
stop6100 Stop (disable) multicast stream utility.
mcastPoll Collect ADSL statistical data and store it in /var/tmp/stats.cvs ( Join/Leave 224.73.193.62 multicast group.)

Source Code C source code.

Usage:

mcastPoll [ once | loop ] [ screen | null ]

Command Line Options:

once Execute the utility one time and exit.
loop Run continuosly updating the /var/tmp/stats.cvs file.
screen Print the statistics to stdout.
null Supress any output to stdout.

start6100 [ broadcast address ]
stop6100 [ broadcast address ]

Command Line Options:

broadcast address Your subnet broadcast address. For example if your computer is at 192.168.0.3 255.255.255.0 then your broadcast address will be 192.168.0.255.

Log file format:

A file named stats.cvs will be created in /var/tmp. The format of this file is:

DATE(YYYY/MM/DD),TIME(HH:MM:SS), Syncrate down, Noise margin down, Power output down, Attenuation down, CRC error down, Header errors down, Syncrate up, Noise margin up, Power output up, Attenuation up, CRC error up, Header errors up.

2004/07/10,21:47:01,3008,23.5,17.5,49.0,224,120,416,16.0,4.5,29.0,3,2
2004/07/11,02:22:44,3008,23.5,18.0,49.5,225,121,416,16.0,4.5,29.0,3,2
2004/07/11,02:22:49,3008,23.0,18.0,49.5,225,121,416,16.0,4.5,29.0,3,2
2004/07/11,02:22:55,3008,23.5,18.0,49.5,225,121,416,16.0,4.5,29.0,3,2

To run the mcastPoll utility from cron add the following line to your crontab file:

*/5 * * * * root /root/source/mcastPoll/mcastPoll once null

feedback Copyright © 2000-2017 by Dohrenburg Systems' Web Development Team.
Legal Stuff. Viewing of this website signifies your agreement.
Dohrenburg Systems Privacy Policy.
Please report any problems with this website to the Webmaster.
Last Update: October 8, 2014