From e7ff99d1cc0e926bc72a007dca62fd083aef3c4a Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Sun, 24 Jan 2010 19:59:42 +0000 Subject: A better test for the Astribank transport directory * On some kernels there's no 'usb_endpoint' under the USB device's SysFS node. Use 'idVendor' which is far less likely to fail. * Actively resolve the symlink 'transport' to its name (e.g. '1-2'). Originally r7825 from the branch perl-sysstate. git-svn-id: http://svn.asterisk.org/svn/dahdi/tools/trunk@7954 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- xpp/perl_modules/Dahdi/Hardware/USB.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xpp/perl_modules/Dahdi/Hardware/USB.pm b/xpp/perl_modules/Dahdi/Hardware/USB.pm index dff25ef..8b84243 100644 --- a/xpp/perl_modules/Dahdi/Hardware/USB.pm +++ b/xpp/perl_modules/Dahdi/Hardware/USB.pm @@ -93,8 +93,9 @@ sub set_transport($$) { } else { warn "Bad USB transportdir='$transportdir' usbdev='$usbdev'\n"; } - } elsif(-d "$transportdir/usb_endpoint") { - $transportdir =~ m|/(\d+)-\d+$|; + } elsif(-f "$transportdir/idVendor" ) { + my $transport_link = readlink($transportdir); + $transport_link =~ m|/(\d+)-\d+$|; $busnum = $1; $devnum = readval("$transportdir/devnum"); } -- cgit v1.2.3