/srv/irclogs.ubuntu.com/2015/09/23/#ubuntu-kernel.txt

alkisgWhen my pc boots, my keyboard doesn't work, but if I unplug/replug it then it does work06:40
alkisgIt's a ps/2 keyboard, can I somehow unload and reload the i8042 module instead?06:40
alkisgMy problem is that there's no i8042 module anymore.... what replaced it?06:41
alkisg[  331.529953] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input206:41
alkisgThis is shown in dmesg when I unplug/replug the keyboard, which then works06:41
alkisgBefore that, there's a /sys/devices/platform/i8042/serio0 directory, but no /sys/devices/platform/i8042/serio0/input directory06:42
alkisgMaybe I can `echo xx>yy` something there in order to force a rescan?06:42
alkisgxinput doesn't list the keyboard before I unplug/replug it06:45
apwalkisg, that is built in, so you cannot rmmod/modprobe it no07:42
alkisgapw: any way to force a rescan?07:42
apwthere are some options to that module to tell it to reset in a different way, rescan i am not sure07:42
alkisgReset would be fine too07:42
alkisgThe client reports that all of his 9 PCs have that, and it happens mostly on the first boot of the day07:42
alkisgIn subsequent reboots it mostly loads, e.g. 90% of the times...07:43
alkisgSo I'm trying to find a way for him to avoid buying new USB keyboards...07:43
alkisgI tried both 3.2 and 3.13 kernels, they did the same07:43
smbdo the keyboards work for bios on first boot?07:44
* alkisg asks...07:44
apwa wide range of kernel versions affected then07:45
smbI once had an old IBM one which seemed to show the same symptoms and my feeling was that that just wanted too much power maybe too early. So it seemed not getting initialized correctly07:45
alkisgHe had told me that it didn't happen until a few months ago07:45
alkisgHe was on precise with the stock 3.2 kernel, doing regular upgrades07:46
apwalkisg, well if we can find the kernel it changed in there is a chance of finding the issue07:46
smbNot saying it cannot happen but getting a drastic change happening back in the 3.2 kernel seem rather slim07:47
apwright its unlikley the module status has changed for sure07:47
alkisgAh, there's the stock kernel still available in the repositores (not in -updates), I can try with that one...07:47
alkisgsmb: I think the client has a boot menu that waits e.g. 10 seconds before selecting "boot from network" (the one it normally uses), so I don't think it would be power related,07:48
alkisgbut it could be related to timings inside the kernel07:48
smbYeah would be good to make sure its not spontaneous hw degradation or so07:48
smbalkisg, The init I mean is not the one from the kernel but the bios 07:49
smbIOW in my case the keyboard was useless already on the boot menu07:49
alkisgI just told him to try all of the clients in the boot menu07:50
apwsmb, though 9 machines all the same seems unlikely to be h/w07:50
smbapw, there is that. yeah. not clear how that would happen07:50
smbBut as there is a boot menu its easy to test whether one can wiggle the selection there (even when then going into the default option)07:52
smbat least that would prove the kernel itself to be doing things wrong07:52
alkisgTo test previous versions, do I only need a previous linux-image, or some other package too? E.g. something related to udev, xinput, ...?07:56
smbalkisg, no only the related linux kernel packages... linux-headers (arch + all) + linux-image.... (now if I could remember whether we had linux-image-extra already back then)07:58
smbI think not...07:58
alkisgno -extra package installed07:58
smbok, not that then, but give me a sec to boot a vm to check for sure07:59
alkisgHe reported that he just had 2 cases where the keyboard was working in the boot menu, but not later on08:01
smbalkisg, ok thanks. so really more kernel or timing in there08:02
alkisgIs there a "waitfordevices=10secs" parameter or similar?08:02
smbalkisg, not that I know but then keyboard is not really seen boot critical... or its not completely not there but just does not send events08:05
smbalkisg, So its just the 3 packages needed linux-headers-<ver> linux-headers-<ver>-generic and linux-image-<ver>-generic (if you already got -generic)08:06
smbotherwise replace generic by whatever is there. it would be good when you could open a lp bug report by ssh in and running "ubuntu-bug linux" when the keyboard is not working08:07
smb(or the customer himself)08:08
jk-cking: would it be feasible to do a fwts-live image for ppc64el?08:15
ckingjk-, i'm not sure, I don't know how the fwts-live image is created, I'll have to check out with the HWE fwts folk08:16
jk-cking: ah! I can follow up - that'd be ivan and/or alex?08:17
ckingjk-, ivan and/or alex :-)08:17
jk-cking: super, thanks.08:17
* alkisg installs 3.2.0-23, apt-get install --auto-remove --purge linux-image-generic-pae=3.2.0.23.25 linux-generic-pae=3.2.0.23.25 linux-headers-generic-pae=3.2.0.23.2508:23
alkisg[    1.034415] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 108:32
alkisg[    1.034475] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp08:32
alkisg[    1.034807] serio: i8042 KBD port at 0x60,0x64 irq 108:32
alkisg[    1.191588] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input308:32
alkisgThe last line is missing whenever the problem occurs. 08:32
alkisgI tried i8042.kbdreset, it didn't do anything (still waiting for the kernel to install)08:33
* alkisg also checks i8042.nopnp...08:34
smbnot sure that helps much. hm, so the controller is detected but somehow the probe for the device behind that controller fails08:36
smbiirc aux was potentially mouse...08:36
* apw idly wonders if this is one of those behind the mouse08:42
alkisgHeh. The older kernel seems to work fine08:43
apwalkisg, so one needs to work forward to find the first one which fails08:43
apwalkisg, normally one does a "binary split search" for these, pick one in the middle try that stylee08:43
alkisgkernel bisect, got it...08:47
* alkisg tries to get some more info, due to the diffuculty of doing that remotely...08:47
smbalkisg, just not bisect within a kernel but taking the packages from launchpad08:48
smbIn theory if you can get a better "when" this started you could narrow down which kernel to start with08:48
alkisgGotcha, thanks, give me some time to check with that client (teacher) and what he's willing to do... :-/08:49
ckingalkisg, you may like to also try i8042.noloop 08:53
alkisgThank you guys. The result it: (1) the older kernel did not fix it, the first test was just a random time that it worked. (2) i8042.nopnp fixed it.09:26
alkisgSo I'm guessing that it didn't work for him in the past as he reported, and I updated his kernel command line to always have i8042.nopnp, and ..."closed" the issue :)09:26
caribouapw: morning, got a minute to discuss the kdump-tools/initrd bug  ?09:30
smbalkisg, Thanks for the update. Weird, somehow I would have thought that nopnp only would affect mice but I certainly will not complain if this fixes the issue. :)09:32
apwcaribou, always09:50
caribouapw: what do you prefer ? mumble or here ?09:52
apwmumble is fine09:52
apwif mumble would start09:52
apwjust making tea so too noisy09:53
caribouapw: hold on, PTT doesn't work09:54
caribouapw: I forgot to ask : do you see a /boot/kdump directory being an issue ?10:07
apwcaribou, i don't think so, though i guess they don't actualy have to be in /boot at all do they10:11
apwcaribou, as they are not loaded by the bootloader, so they are not special files in the same way, they could10:11
apwgo in like /var/lib/kdump/kernel or something just as well10:11
caribouapw: kexec calls them so they need to be in the same FS as the original ones10:14
apwcaribou, i thought it loaded them after we have mounted everything, so why do we care where they come from ?10:15
apwand i thought it literally just read the file and shoved it into kernel memory10:15
apwcaribou, oh you mean on reboot?  so we have unmounted everything by then ?10:16
apwwe don't do that for kdupm though do we ?10:16
caribouapw: no they're used as parameter to the kexec call that boots the kernel10:16
caribouapw: sorry, I need to step out. I'll check a few thing upon my return to make sure I put them at the right place10:17
apwcaribou, np10:30
silidanhi, i have a library here(no sourcecode) for accessing a USB 2.0 camera which uses libusb-1.0, when using usbmon and wireshark i see URBs for Bulk Transfer which are always 61504 Bytes long, on windows the native driver for the camera seems to use URBs of length 307227 bytes, how can i make sure the URBs on Linux are the same Size as on Windows?14:15
apwsilidan, i'd expect the library caller to specify the buffer size14:16
apwwhich is the bit you don't have source for14:16
silidanapw: i dont have the source for the library that calls libusb14:17
apwi know14:17
apwsilidan, an strace might tell you if the buffer being offered by userspace is bigger than the URB or not14:19
apwand tell you if the kernel or userspace is making the upper limit14:19
silidanapw: never used strace, can you point me to a tutorial so i can get up and running?14:19
apwnormally "strace -o <tracefile> <command>" gives you everything that happens14:20
silidanapw: if the kernel makes the upper limit, are there any chances i can set the limit at runtime?14:20
apwsilidan, maybe indeed, though i have no idea off the top of my head14:23
apwknowing which driver it is loading etc we migt be able to tell14:23
apwbut first determine the size of the buffer offered from userspae14:23
silidanapw: here is the output from a short test http://pastebin.com/hmhvzkad14:26
silidanapw: this output is new to me.... dont know how to read it14:30
apwsilidan, those are the raw systemcalls your app made14:30
silidanapw: ok so to understand it i have to know which sys calls to look for right?14:31
apwioctl(13, USBDEVFS_SUBMITURB, 0x705560) = 014:34
apwsilidan, so i think that is saying that URBs are coming from userspace in a raw sense, so size is likey coming from there14:34
silidanapw: and that tells me what?14:45
apwit implies to me that the libbray and your app are deciding on the URB sizes14:46
apwas it is just saying "SEND URB" not "write some data"14:47
silidanapw: ok so that size limit is either given by libusb or the lib that uses libusb?14:49
apwi gues it may be returned from the kernel inthe preceeding lookup phase14:50
apwnow it is hard to tell14:50
apwioctl(13, SNDRV_CTL_IOCTL_TLV_READ or USBDEVFS_GET_CAPABILITIES, 0x705550) = 014:50
apwit does do that shortly before, so it is possible that that containst upper limits14:50
apwsilidan, ok no that doesn't appear to say how big it can be14:52
apwand then we set a configration on the device and claim it14:52
apwand then start sending urbs, so i'd say14:52
apwfrom the inforamtion we have here that its likley it is either your app or the libusb which determins max urb size14:53
apwbut this cna only be conjecture at the moment14:53
silidanso in other words we cant be sure what is limiting?14:53
apwbut whats there right now, i'd say the kernel isn't obviously telling you, and userspace is saying "send this"14:54
apwso i'd say the urb is being sized and made in userspace14:55
silidanapw: ok, but now lets assume the kernel would be telling me, where would i look further?15:04
apwsilidan, well it is hard to say as i cannot see you doing anything which looks like asking15:05
apwsilidan, why do you care that it is making smaller urbs anyhow, they are still pretty large15:08
silidanapw: well the problem is this camera reaches 30 fps on windows, and only 10 on linux, and the image transfers start to stall when the camera is supposed to transfer more than 10 fps.15:11
apwsilidan, so what is hte closed source thing you are using to read from it, does anything open osurce work with it15:12
apwif its just a normal camera could you use cheese or something to see if that can read at a beter speed15:12
silidanapw: the closed source thing is the SDK from the manufacturer, im not aware of any open source thing to talk directly to the camera without the closed source SDK15:13
apwsilidan, closed source things suck15:14
silidanapw: yep15:14
silidanapw: but at least this manufacturer made the effort of creating a linux sdk... better than nothing at all..15:15
silidanapw: i can give you the download link for the sdk if you are interested...15:15
apwi guess, just about15:15
apwsilidan, i don't really have the imte to investigate binaries15:16
apwlikely your next step is to ask them, if they make the sdk they may respond15:16
silidanapw: i already asked them, so far their response: "we have dig into the source code of libusb and found it did not split the transfer to small URBs" and "the short URB problem is related to Linux kernel our USB3.0 camera has a larger hardware buffer than our USB2.0 cameras so USB3.0 cameras runs well through small URBs"15:18
silidanapw: and also: "we did some test and track this problem in libusb but seems there is no such limitation in libusb we do think this is because of linux Kernel"15:20
silidanapw: if you want i can hint them to this channel so you can communicate with them directly..15:25
apwsilidan, so they are claiming we are splitting hte urb they send into more than one?15:25
apwsilidan, what does the URB say that we send to the other end15:30
apwsilidan, you took traces me thinks15:31
silidanapw: ?15:48
apwsilidan, they claim to be submitting bigger urbs than we submit to the device right ?15:48
apwsilidan, so i am asking what the wireshark info for the URBs is, so i cna try and figure out what path they took to see if we do do that15:49
apwsilidan, as they are claiming (i belive) that they submit large urbs and we submit multiple smaller ones onto the wire15:49
apwand we'd have to have code to do that, which i cannot easily find without knowing the route it takes15:49
apwand for that i need to know what kind of urb it is15:50
silidanapw: i can send you the wireshark info, but only in about 1-2 h, im afk now15:52
silidanapw: ok im back, getting hold of the data now18:41
silidanapw: Here is the usbmon capture of wireshark on Ubuntu 64bit http://wikisend.com/download/915008/ASI_120MM_USBMON_Capture_Linux_x64.pcapng18:59
silidanapw: it includes the whole communication from start to shutdown of the capture application, it doesnt contain the enumeration process during plugging in, if you want that ill make a new capture, just let me know19:00
silidanim off now, ill be back tomorror21:20

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!