![]() |
#1 |
Member
![]() Posts: 11
Karma: 10
Join Date: Dec 2012
Device: Kobo Touch
|
Determine device firmware version
TL;DR: Does anyone know how to programmatically obtain the currently installed firmware version on a Kobo?
I've been working on a program which will automatically download books from a calibre content server onto the Kobo. Currently, my method for forcing the device to add the downloaded books to its library is to fake a USB plug in event, fake a tap on the "Connect" button, and then fake a USB unplug. This works fine on my device, but the problem is that I need the screen co-ordinates of the connect button. The location of the button is fairly predictable, but the UI has changed once or twice, so it might be in different places on different firmwares, and of course it will depend on the screen resolution, which I think varies with the actual model. So my questions are basically
|
![]() |
![]() |
![]() |
#2 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,247
Karma: 16539642
Join Date: Sep 2009
Location: UK
Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3
|
|
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Linux User
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,282
Karma: 6123806
Join Date: Sep 2010
Location: Heidelberg, Germany
Device: none
|
You could just ask the user to do it manually once (and record and remember and replay that touch event). Basically just read the touchscreen input event between faking the USB connect and unplug (assuming the user will tap connect when nothing happens) and write it back to it next time.
|
![]() |
![]() |
![]() |
#4 | ||
Member
![]() Posts: 11
Karma: 10
Join Date: Dec 2012
Device: Kobo Touch
|
Quote:
Looks like the comma-separated fields break down into serial number (which starts with the model number), kernel version, firmware version, kernel version again, kernel version yet again, and then something I'm not certain, maybe a different representation of the firmware version? No idea why the kernel version is repeated three times, but looks like there's enough info there to identify model and firmware version. Quote:
|
||
![]() |
![]() |
![]() |
#5 | |
Linux User
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,282
Karma: 6123806
Join Date: Sep 2010
Location: Heidelberg, Germany
Device: none
|
Quote:
![]() |
|
![]() |
![]() |
Advert | |
|
![]() |
#6 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Member
![]() Posts: 11
Karma: 10
Join Date: Dec 2012
Device: Kobo Touch
|
You may be interested to know that I eventually decided to do it your way and record the user's manual tap. I still regard it as an interim solution though, and eventually I would like to have a way to do this without any user interaction at all (though of course what I'd *really* like is a way to trigger a library update that doesn't involve faking USB connections and screen taps.)
|
![]() |
![]() |
![]() |
#8 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,466
Karma: 6900052
Join Date: Dec 2009
Location: The Heart of Texas
Device: Boox Note2, AuraHD, PDA,
|
Maybe you could check out Tshering's scripting for that feature of his Kobo Start Menu (KSM)? (I mean the simulation of USB connect and disconnect, to have Kobo processing initiated.)
Luck; Ken Last edited by Ken Maltby; 09-27-2015 at 09:54 AM. |
![]() |
![]() |
![]() |
#9 |
Member
![]() Posts: 11
Karma: 10
Join Date: Dec 2012
Device: Kobo Touch
|
That is essentially the method I use (except implemented in C rather than shell-scripting) - however, tshering's method still requires the user to tap the "Connect" button, as far as I can make out. I don't actually run KSM, so maybe there is a feature I am unaware of that doesn't require user interaction?
|
![]() |
![]() |
![]() |
#10 | |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,466
Karma: 6900052
Join Date: Dec 2009
Location: The Heart of Texas
Device: Boox Note2, AuraHD, PDA,
|
Quote:
It won't hurt anything to install KSM7, the stock software is unaffected. Luck; Ken |
|
![]() |
![]() |
![]() |
#11 |
Linux User
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,282
Karma: 6123806
Join Date: Sep 2010
Location: Heidelberg, Germany
Device: none
|
Great. I don't think there is a better solution, for now. Unless you know how to patch / ld_preload nickel to convince it to do it another way. Even updating the database directly [if you knew how], it doesn't work, as nickel ignores it until reboot or, until usb connect as it were. Since nickel believes to be the exclusive user of the database, it does not revalidate caches etc.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to determine firmware on new Kindle Paperwhite? | DuncanWatson | Kindle Developer's Corner | 4 | 05-09-2015 12:32 AM |
How do I determine which JB version I used to uninstall it? | twowheels | Amazon Kindle | 4 | 10-23-2011 03:04 PM |
Criteria to determine if book is already on device? | ATimson | Devices | 2 | 10-09-2011 03:34 AM |
Gender does determine what device you use. | OldGunbunny | News | 55 | 08-30-2011 12:48 PM |
How to determine if a Cybook Opus is the new version without opening the box | morpheus99 | Bookeen | 3 | 07-27-2010 10:30 AM |