On Thu, Oct 15, 2020 at 01:17:45PM +0100, Lucas Tanure wrote: > Hi, > > I'm learning about USB drivers and I would like to know about disconnecting > and reconnecting usb devices. > > I can see my probe function being called and also the disconnect function. > But if I reconnect the device there is no call from the kernel to notify my > driver about the device being reconnected. That's not good, your driver should be told this. > I can also see that the module for my driver was not unloaded, so I dont > understand the life cycle of a USB device. Modules are never auto-unloaded. > If the module is not unloaded at disconnection and re-loaded for a new > device being connected, how can the driver know the device is there after a > disconnection? The probe function should be called, are you sure it isn't? > > Thanks > Lucas > > This is my dmesg for the driver at the end of this email: > > [ 34.706041] usb 1-1.1.2: new high-speed USB device number 5 using dwc_otg > [ 34.837647] usb 1-1.1.2: New USB device found, idVendor=04b4, > idProduct=00f1, bcdDevice= 0.00 > [ 34.837666] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, > SerialNumber=0 > [ 34.837679] usb 1-1.1.2: Product: FX3 > [ 34.837693] usb 1-1.1.2: Manufacturer: Cypress > [ 34.902480] usbdev_probe > [ 34.902681] usbcore: registered new interface driver My USB Device > [ 45.416310] usb 1-1.1.2: USB disconnect, device number 5 > [ 45.416655] usbdev_disconnect > [ 61.326035] usb 1-1.1.2: new high-speed USB device number 6 using dwc_otg > [ 61.457674] usb 1-1.1.2: New USB device found, idVendor=04b4, > idProduct=00f1, bcdDevice= 0.00 > [ 61.457692] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, > SerialNumber=0 > [ 61.457706] usb 1-1.1.2: Product: FX3 > [ 61.457720] usb 1-1.1.2: Manufacturer: Cypress That is odd, sorry, don't know what to suggest. greg k-h