On Sat, Feb 17, 2018 at 12:05:13PM +0000, Mark Morgan Lloyd wrote: > I'm trying to disentangle some driver issues so that I can backport a module > for a colleague with a weird peripheral. Can anybody tell me what the "b" > field here is, and in particular the significance of the number (3 or 5 in > the example below)? > > alias: hid:b0003g*v0000056Ep0000010D > alias: hid:b0003g*v0000056Ep0000010C > alias: hid:b0003g*v0000056Ep000000FF > alias: hid:b0003g*v0000056Ep000000FE > alias: hid:b0005g*v0000056Ep00000061 > > I'd assumed from udev/hwdb that it was a bus identifier applicable to > something that was actually plugged in, but I'm curious to see it varying on > a virgin system that's never seen the peripheral in question.
Well the kernel source code says: return scnprintf(buf, PAGE_SIZE, "hid:b%04Xg%04Xv%08Xp%08X\n", hdev->bus, hdev->group, hdev->vendor, hdev->product); Also: switch (hdev->bus) { case BUS_USB: bus = "USB"; break; case BUS_BLUETOOTH: bus = "BLUETOOTH"; break; case BUS_I2C: bus = "I2C"; break; default: bus = "<UNKNOWN>"; } So it appears to be a bus type. 3 is USB, 5 is BLUETOOTH according to input.h -- Len Sorensen