I'm not complety sur, but LibUsbDotnet wrap only win32 usb, try to use ICSharpUsbLib
2009/7/16 Napcaia <[email protected]>: > > Hi, I'm New with mono and C#, and I want to stablish the communication > between ubuntu an the pic (18f2550) via Usb using LibUsbDotNet. but when I > use the example code in the documentation I have the following message: > > > " > Finding your device.. > > Unhandled Exception: System.ArgumentException: An empty file name is not > valid. > at System.IO.FileSystemInfo.CheckPath (System.String path) [0x00000] > at System.IO.DirectoryInfo..ctor (System.String path, Boolean > simpleOriginalPath) [0x00000] > at System.IO.DirectoryInfo..ctor (System.String path) [0x00000] > at (wrapper remoting-invoke-with-check) System.IO.DirectoryInfo:.ctor > (string) > at LibUsbDotNet.UsbGlobals.get_HasWinUsbDriver () [0x00000] > at LibUsbDotNet.UsbGlobals.get_AllDevices () [0x00000] > at Examples.GettingStarted.Main (System.String[] args) [0x0000a] in > /home/eder/Projects/Prueba/Prueba/Main.cs:23 > " > > This is the sample code from the LibUsbDotNet webpage: > > using System; > using Gtk; > using LibUsbDotNet; > using LibUsbDotNet.Info; > using LibUsbDotNet.Main; > > namespace Examples > { > internal class GettingStarted > { > public static UsbDevice MyUsbDevice; > > #region SET YOUR USB Vendor and Product ID! > > public static UsbDeviceFinder MyUsbFinder = new > UsbDeviceFinder(0x04d8,0x0011); > > #endregion > > public static void Main(string[] args) > { > // Check for a valid & connected usb device by vendor and > product id. > Console.WriteLine("Finding your device.."); > UsbRegistry myUsbRegistry = > UsbGlobals.AllDevices.Find(MyUsbFinder); > > if (ReferenceEquals(myUsbRegistry, null)) > { > // The device is not connected or cannot be accessed by > libusbdotnet > Console.WriteLine("Device not connected!"); > ShowLastUsbError(); > return; > } > > // Display the usb device description from the registry. > // This is the description that was set by the install inf. > Console.WriteLine("Found device {0}", > myUsbRegistry[SPDRP.DeviceDesc]); > > // Display the usb devices DeviceInterfaceGuids. > // This set by the install inf. > > Guid[] deviceInterfaceGuids = > myUsbRegistry.DeviceInterfaceGuids; > foreach (Guid deviceInterfaceGuid in deviceInterfaceGuids) > Console.WriteLine("Device Interface Guid: {0}", > deviceInterfaceGuid); > > // Open this usb device. > if (!myUsbRegistry.Open(out MyUsbDevice)) > { > // If a UsbRegistry class is obtained this should never > happen with libusb-win32. > // It will happen with WinUsb only of the device is being > used by another process. > Console.WriteLine("Failed opening device!"); > ShowLastUsbError(); > return; > } > > // Get the REAL usb DeviceDescriptor information from the usb > device. > // Up until this point, we have just been querying the windows > registry, > // nothing had actually been sent or received from the usb > device. > UsbDeviceInfo myDeviceInfo = MyUsbDevice.Info; > > // Dump the UsbDeviceDesciptor to console output. > Console.WriteLine(myDeviceInfo.Descriptor.ToString()); > > // Display REAL Manufacturer String (if one exists) > if (myDeviceInfo.Descriptor.ManufacturerStringIndex != 0) > Console.WriteLine("Manufacturer: {0}", > myDeviceInfo.ManufacturerString); > > // Display REAL Product String (if one exists) > if (myDeviceInfo.Descriptor.ProductStringIndex != 0) > Console.WriteLine("Product: {0}", > myDeviceInfo.ProductString); > > // Display REAL Serial Number String (if one exists) > if (myDeviceInfo.Descriptor.SerialStringIndex != 0) > Console.WriteLine("Serial Number: {0}", > myDeviceInfo.SerialString); > > // Close the device. > // When a UsbDevice class is closed, it is disposed and all > resources > // are freed. It cannot be re-open; you must create a new > instance. > MyUsbDevice.Close(); > > // Wait for user input.. > Console.ReadKey(); > } > > private static void ShowLastUsbError() > { > Console.WriteLine("Error Number: {0}", > UsbGlobals.LastErrorNumber); > Console.WriteLine(UsbGlobals.LastErrorString); > > // Wait for user input.. > Console.ReadKey(); > } > } > } > > I hope you can help me > > Thanks. > -- > View this message in context: > http://www.nabble.com/LibUsbDotNet-Unhandled-Exception-tp24510436p24510436.html > Sent from the Mono - General mailing list archive at Nabble.com. > > _______________________________________________ > Mono-list maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/mono-list > -- Cordially. Small Eric Quotations of the days: --------------------------------------------------------------------------- If one day one reproaches you that your work is not a work of professional, say you that: Amateurs built the arch of Noah, and professionals the Titanic. --------------------------------------------------------------------------- Few people are done for independence, it is the privilege of the powerful ones. --------------------------------------------------------------------------- No key was wounded during the drafting of this message. _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
