ESD tests

Hi!

This might be of general interest: yesterday our data aquisition board 
for USB (for LINUX/comedi) passed the EMC tests.

In particular it was interesting how the board reacted to the 8kV sparks 
to its connectors and 500V bursts to its inputs/outputs. It was 
connected to a SONY VAIO. Module "usb-uhci". VIA USB controller. Kernel 
2.4.21. The driver registers itself to the usb stack and to COMEDI. Both 
the 8kV sparks on the board and the 500V bursts basically completely 
confused the USB controller in the VAIO (not the FX2 in my board :-). 
However, the kernel did a really good job:

Sep 23 14:00:01 localhost kernel: comedi0: successfully attached to usbdux.

##### SPARK #####

Sep 23 14:00:03 localhost kernel: hub.c: port 1, portstatus 100, change 
0, 12 Mb
/s
Sep 23 14:00:03 localhost kernel: hub.c: port 2, portstatus 101, change 
3, 12 Mb
/s
Sep 23 14:00:03 localhost kernel: hub.c: port 2 connection change
Sep 23 14:00:03 localhost kernel: hub.c: port 2, portstatus 101, change 
3, 12 Mb
/s
Sep 23 14:00:03 localhost kernel: usb.c: USB disconnect on device 
00:07.2-2 addr
ess 11
Sep 23 14:00:03 localhost kernel: usb.c: kusbd: /sbin/hotplug remove 11
Sep 23 14:00:03 localhost /sbin/hotplug: arguments (usb) env 
(PWD=/etc/hotplug D
EVICE=/proc/bus/usb/001/011 ACTION=remove DEBUG=kernel OLDPWD=/ 
DEVFS=/proc/bus/
usb TYPE=255/255/255 SHLVL=1 HOME=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin 
PRODUCT=4
b4/8613/4 _=/usr/bin/env)
Sep 23 14:00:03 localhost /sbin/hotplug: invoke /etc/hotplug/usb.agent ()
Sep 23 14:00:03 localhost kernel: hub.c: port 2, portstatus 101, change 
2, 12 Mb
/s
Sep 23 14:00:03 localhost kernel: hub.c: port 2, portstatus 101, change 
2, 12 Mb
/s
Sep 23 14:00:03 localhost kernel: hub.c: port 2, portstatus 101, change 
3, 12 Mb
/s
Sep 23 14:00:03 localhost kernel: hub.c: port 2, portstatus 101, change 
2, 12 Mb
/s
Sep 23 14:00:04 localhost last message repeated 3 times
Sep 23 14:00:04 localhost kernel: hub.c: port 2, portstatus 103, change 
0, 12 Mb
/s
Sep 23 14:00:04 localhost kernel: hub.c: new USB device 00:07.2-2, 
assigned addr
ess 12
Sep 23 14:00:04 localhost kernel: usb.c: kmalloc IF ce537d40, numif 1
Sep 23 14:00:04 localhost kernel: usb.c: new device strings: Mfr=0, 
Product=0, S
erialNumber=0
Sep 23 14:00:04 localhost kernel: comedi_: usbdux0 has been successfully 
initial
ized.
Sep 23 14:00:04 localhost kernel: usb.c: usbdux driver claimed interface 
ce537d4
0
Sep 23 14:00:04 localhost kernel: usb.c: kusbd: /sbin/hotplug add 12
Sep 23 14:00:04 localhost kernel: hub.c: port 1, portstatus 100, change 
0, 12 Mb
/s
Sep 23 14:00:04 localhost kernel: hub.c: port 2, portstatus 103, change 
0, 12 Mb
/s
Sep 23 14:00:04 localhost /sbin/hotplug: arguments (usb) env 
(PWD=/etc/hotplug D
EVICE=/proc/bus/usb/001/012 ACTION=add DEBUG=kernel OLDPWD=/ 
DEVFS=/proc/bus/usb
 TYPE=255/255/255 SHLVL=1 HOME=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin 
PRODUCT=4b4/
8613/4 _=/usr/bin/env)
Sep 23 14:00:04 localhost /sbin/hotplug: invoke /etc/hotplug/usb.agent ()
Sep 23 14:00:04 localhost /etc/hotplug/usb.agent: Setup usbdux for USB 
product 4
b4/8613/4
Sep 23 14:00:04 localhost /etc/hotplug/usb.agent: Module setup usbdux 
for USB pr
oduct 4b4/8613/4
Sep 23 14:00:04 localhost modprobe: modprobe: Can't locate module 
char-major-98-
0
Sep 23 14:00:04 localhost kernel: comedi0: usbdux: usb-device 0 is 
attached to c
omedi.
Sep 23 14:00:04 localhost kernel: comedi0: successfully attached to usbdux.

I'm not sure how the disconnect is "triggered". However, the probe 
function is called again and also the hotplug script is called again. 
The system recovers itself which is needed for the test. Praise to the 
authors of the low level parts of the USB stack. Great work.

Also comedi itself worked nicely. (I used ao_waveform for most of the 
tests).

/Bernd

-- 
http://www.cn.stir.ac.uk/~bp1/
mailto:bp1_at_cn.stir.ac.uk

Received on 2003-09-24Z19:56:31