Commit graph

1885 commits

Author SHA1 Message Date
Solomon Peachy
1b110daf08 rbutil: Add in the EROS Q / EROS K and clones
Change-Id: I0b482542fc15af3abbaf7a132ee56414a2bd3231
2020-10-17 01:02:16 +00:00
Solomon Peachy
318229e742 rbutil: Fix incorrect USB IDs for the xDuoo X3ii and X20
Change-Id: I0d16189d236a8589ff51d93d1eeabed3cfe751da
2020-10-16 15:31:05 -04:00
Dominik Riebeling
5efaa9ef80 rbutil: Use globalPos() for getting mouse position.
globalX() / globalY() are deprecated for Qt6. Use globalPos() instead,
which gives the same result.

Change-Id: Ie0b733b88107e971de9c3e8c42434d7d47a65b76
2020-10-11 18:05:21 +02:00
Dominik Riebeling
c8fa53050d rbutil: Add project file for building multiple binaries.
To use ipodpatcher and sansapatcher as external binaries (so we can do
proper permission elevation) we need to build them using qmake as part
of the main build. Add a subdirs template based project file to do that,
and project files for the patchers.

Move Linux appimage rules one level up, since it needs to include the
patchers as well.

Change-Id: I63ee59372668f4319402df65a77a6f04521d133b
2020-10-11 09:42:13 +02:00
Dominik Riebeling
cd192f239b rbutil: Fix encoding of turkish translation.
The file encoding was messed up long ago. Since the translation wasn't
updated since reimport the original patch (FS#8407).

Change-Id: I93e12fbde4f63926d18df382c0254465b11750cd
2020-10-11 09:42:13 +02:00
Dominik Riebeling
74258fca31 rbutil: Replace sysinfo filesystem cluster size with type.
The cluster size isn't too useful. Show the filesystem type instead,
since that makes it easier to identify a device not showing up because
of its filesystem type.

Change-Id: I8f58ea23ab90808ab0c37978b211a5470ed8bb8e
2020-10-04 11:31:30 +02:00
Dominik Riebeling
728299e322 rbutil: Fix unnecessary implicit cast.
Change-Id: Id05220a700eb826d38023575b02f568b1c1a7580
2020-09-30 21:12:50 +02:00
Dominik Riebeling
c8f79d31b1 rbutil: Add postinstall hint for rocker and xduoo player.
Change-Id: I4f679228a354019d830afbbd402db566abd743d3
2020-09-30 21:12:50 +02:00
Dominik Riebeling
201e9bcde8 rbutil: Fix some minor issues found by clazy.
Change-Id: I0e63df09caf959dcb325c6ad2297c4348388a831
2020-09-27 10:57:58 +02:00
Dominik Riebeling
f1f72ff8df rbutil: Code cleanup.
- Fix naming.
- Remove non-functional functionality to set cache folder.
- Use URL filename part when copying the file if target filename is not set.

Change-Id: Ic9af59300f06d4309c6a4c9542d4f6079dd841c3
2020-09-27 09:28:21 +02:00
Dominik Riebeling
9d8bcbeb2a sansapatcher: rework exit code handling.
- #define all exit codes and use them for indicating further errors.
- only enable interactive (i.e. wait for keypress before exiting) mode
  when built with bootloaders.

Change-Id: I6dcbc51226aadc4ab640bf260b6331ddbd4773cc
2020-09-27 09:28:15 +02:00
Dominik Riebeling
af76fa3e7a ipodpatcher: Rework exit codes.
- #define all exit codes used so they can be checked more easily.
- Use exit codes to indicate more error states.

Change-Id: I052962e3457a7cd5eca8b70256889d25b1b4b3aa
2020-09-27 09:28:10 +02:00
Dominik Riebeling
3806f57ed8 ipodpatcher: Fix some type warnings.
Change-Id: I66fa99db3f4913bafa17a1e976cbfd08e26349ce
2020-09-27 09:28:05 +02:00
Dominik Riebeling
0b5f0b9284 rbutil: Fix Xduoo bootloader installation.
- Don't try to unzip the bootloader file if we're actually looking for a
  zip file.
- Fix wrong bootloader file name for X3.
- There's no QThread::terminated() signal, don't connect it.

Change-Id: Iebfcc61d644c8443b60d9b37f4932d7b46098465
2020-08-23 16:55:28 +02:00
Dominik Riebeling
e0021744cf rbutil: Fix wrong fall-through.
Fortunately it didn't break anything.

Change-Id: Ie1f2bff73dbc61ec9f454ce7b61aaad74424fd06
2020-08-21 21:31:44 +02:00
Dominik Riebeling
2aecb3b9ea rbutil: Use a non-zero default value for status.
When resolving the status values downloaded from the server use a
negative value as default. Since 0 is the default in QSettings but now
considered as "retired" a missing status value would make that target
appear as retired instead of unknown status.

Change-Id: I23567413c5c3d5828fca7f9c5a29e2037e8614cf
2020-08-21 21:31:44 +02:00
Dominik Riebeling
94eb1df58b rbutil: Logger Qt6 fixes.
Fix various issues with building CuteLogger with Qt6.

Change-Id: Iceac8f8a19f6703868c5a41b725d3cd69c724239
2020-08-16 12:37:02 +02:00
Dominik Riebeling
cd352d9052 rbutil: QString::split() changed with Qt 5.14.
Avoid a deprecated warning, and make it compile with Qt6, which removes
the old version.

Change-Id: Iaad10660a0c8bda9d7aa52ee250489ed135bd8a8
2020-08-16 12:15:14 +02:00
Dominik Riebeling
d5820ff779 rbutil: Qt6: allow building without Multimedia module.
Qt6 beta doesn't include the Multimedia module. Allow building without,
and disable on Qt6 for now.

Change-Id: Ie2ad25c81d9c62c8c6e8efaf8309b3600afce1d0
2020-08-16 12:14:30 +02:00
Dominik Riebeling
7c9a7ed406 rbutil: Initial Qt6 support.
Qt6 replaces QTextStream::setCodec() with QTextStream::setEncoding().

Change-Id: I4cfa90d89f54ad49d061ad859585a2a74b5f9786
2020-08-16 12:14:02 +02:00
Dominik Riebeling
9cd37337de rbutil: Fix various warnings.
Replace use of deprecated APIs with their replacements, and fix some
other minor warnings.

Change-Id: I3f63e0bd91b96ce86ce39c087fe0040fc226d16d
2020-08-16 12:13:28 +02:00
Dominik Riebeling
b1332d974a rbutil: Fix compile warning in unit test.
Change-Id: Ieb97a6079a70095f7531a90d7117ddf7bfc50afd
2020-08-16 12:12:48 +02:00
Dominik Riebeling
48d2927ecc rbutil: Update CuteLogger to most recent upstream.
Update to the most recent git version.

This changes the folder structure and renames some classes to follow
upstream.

Restore MSVC static link fix, and fix wrong variable in qmake project file.

Change-Id: I874bb9ed60e37af09a841988e771fd341414d145
2020-08-08 10:01:42 +02:00
Dominik Riebeling
c425d4627e rbutil: Drop Qt4 support.
The last version of Qt4 was released in 2011, time to officially move to
Qt5.

Change-Id: I57d2261bfa44ec824ef4a406f60ce1bd9bc52589
2020-08-08 10:01:42 +02:00
Dominik Riebeling
d7bbf8a477 rbutil: Use QElapsedTimer for measuring time.
The timing functions in QTime are deprecated and have been removed for
Qt6. Use QElapsedTimer, which is the replacement for this.

Change-Id: Ib262753fe99aff83f1952337eb64cd44439cafdd
2020-08-07 22:18:41 +02:00
Dominik Riebeling
2fe046c380 rbutil: Drop support for libusb0.
libusb1 is maintained and stable since years. No need to keep the old
implementation around.

Change-Id: I25a4c5643fc9a88eaad3e8f2f7e1dd705be080e0
2020-08-07 22:18:41 +02:00
Dominik Riebeling
729b6e4f33 rbutil: Update libmspack to 0.10.1alpha.
Update to the most recent release. Fix name / include clashes, as has
been done before.

Change-Id: Ia712bb2b5f4b9018b65a46b8bdd04ba42363be8b
2020-08-07 22:18:41 +02:00
Dominik Riebeling
b0f22620a2 rbutil: Update quazip to release 0.9.1.
Update to latest quazip release.

Change-Id: I03189ceeadbe3110a9420153d84bd5d33d5b663f
2020-08-07 22:18:41 +02:00
Dominik Riebeling
04d289fe02 rbutil: Use SpinBox for Proxy port value.
No need to use a validator on a LineEdit, simply use a SpinBox and
disable the up / down icons.

Change-Id: Ie47c5929a071dc95ed9d6f28c2417fc6dd5323fe
2020-08-06 22:58:19 +02:00
Dominik Riebeling
feb028ac37 rbutil: Fix deprecation warnings.
Change-Id: Ia7e24a5fee2b6e858abcec318d13775ad23b4469
2020-08-06 20:50:52 +02:00
Dominik Riebeling
7c5b9a4049 rbutil: Fix Qt deprecated warnings.
Change-Id: I0a5c137704f07e8448c3a09624228a4f417e6634
2020-08-06 20:43:15 +02:00
Dominik Riebeling
82f98dea2b rbutil: Explicitly link bzip2 only on non-Windows.
When building for Windows (at least using mxe) bzip2 clashes with
existing symbols. This seems to be a similar issue as with zlib. Don't
link it explicitly, so the linker uses the existing symbols.

Fixes building for Windows.

Change-Id: I7a1e980542961f3e7f8febedd6c0b8f04a6f6ec0
2020-08-06 20:43:15 +02:00
Dominik Riebeling
b820c648c8 rbutil: Always use Qt Multimedia to play TTS preview.
We're using it on Windows and macOS, there's no reason to not do so on
Linux.

Change-Id: I6e4d9006eff22fd4bf6b882407a5497b2f8cdd2f
2020-07-26 15:12:17 +02:00
Dominik Riebeling
5640d0d3c7 rbutil: Call QLocale::setDefault() with QLocale.
QLocale::setDefault() shouldn't be called with a QString but a QLocale
instead. Calling it with a string doesn't work with Qt6 anymore.

Change-Id: I08826095cda8563e4ae9b83d08144da2d0d7f3c7
2020-07-26 11:10:26 +02:00
Dominik Riebeling
1e39619034 rbutil: Merge Troubleshoot submenu with Help menu.
Since people seem to have problems finding the troubleshoot items in a
submenu move them one level up. The submenu isn't too useful anyway.

Change-Id: Ic047f3913a8a13b038580d497260de55fe2e1298
2020-07-26 09:56:20 +02:00
Dominik Riebeling
46d06f71dc rbutil: Remove unnecessary (and implicit) type conversion. 2020-07-26 09:56:20 +02:00
Dominik Riebeling
1ed283de9c rbutil: Update translation stats script.
- Update to Python3.
- Change Qt tools to Qt5.
- Cleanup.

Change-Id: Icc9d9335518e8fba4a0c7a619527c8cdc087d59f
2020-07-26 09:56:20 +02:00
Solomon Peachy
5c30d57ad1 rbutil: Fix the X3ii's USB VID/PID
Change-Id: I009b19b922874b9cce04da3d2cdd7bd142510dc2
2020-07-20 19:30:57 +00:00
Solomon Peachy
f6060d62d9 rbutil: Add support for the xDuoo X3, X3ii, X20, and AGPTek Rocker.
* All include full bootloader installation!
 * X20 lack USB VID/PIDs so cannot be autodetected.
 * Benjie T6 (variant/OEM of the Rocker) USB VID/PID unknown.

Change-Id: Ia823de072c83506d36410ec436be15a0caf97151
2020-07-20 18:40:24 +00:00
Dominik Riebeling
561937f2f4 bspatch: Fix compiling on macOS.
u_char is a nonstandard type. On macOS this requires to explicitly
include sys/types.h.

Change-Id: I929ceafc12c7cbdcc96e85cdd05cce27d8aa6795
2020-07-20 20:38:32 +02:00
Solomon Peachy
6fa80604e3 rbutil: Add in missing voicefile languages
Change-Id: I6b38bc7ba1c9dc6f399297142d007fcd7736eb36
2020-07-19 21:39:08 +00:00
Solomon Peachy
fc4af2062b rbutil: Support 'espeak-ng' and 'mimic' TTS engines
Change-Id: Ibf6e46254f42b28800351fdb303539b2ec13d422
2020-07-19 19:32:43 +00:00
Solomon Peachy
66d7c21cde rbutil: Handle the new Retired target status.
It's considerd stable, but does not have dev builds any more

So don't display download options to get RC or dev builds.

Change-Id: I68ed6adc2dd72d54464d3ff8d8e8df28088f8020
2020-07-14 13:03:06 +00:00
Dominik Riebeling
3cfd129cd9 mac: Fix build rule for dmg.
Also add the version string to the folder used for creating the dmg,
since that will appear when mounting it.

Change-Id: Ibf5918bf51ae37082d7b2ca5baf919319f6e568d
2020-06-30 19:22:54 +02:00
Dominik Riebeling
82716bbe20 rbutil: Fix filename for additional rule to create dmg image on macOS. 2020-06-30 19:22:45 +02:00
Dominik Riebeling
7f3142fc5c rbutil: Fix compiling 32bit Rockbox Utility on 64bit Linux.
Pass the machine options for libs to the c++ compiler as well.

Change-Id: I56bfbbe4aca4b3a7b86bb0d5323a1f7d78d4f60c
2020-06-21 09:14:23 +02:00
Dominik Riebeling
b2749d0f77 rbutil: Add extra build rule on Linux to create AppImage.
Build the "appimage" target to create an AppImage file from the binary.
The needed linuxdeploy tools will be downloaded first.

Change-Id: Ia1e8977ea7689fb547c5d1a6abe6448a94f1b1af
2020-06-20 12:20:21 +02:00
Dominik Riebeling
35bdfd5ec5 rbutil: Add simple desktop file for Linux.
To be used by packagers, and eventually AppImage.
The logo file referenced is docs/logo/rockbox-clef.svg.

Change-Id: Id2606f6c699d0ef612caaf125aa2a5d0e88bdecc
2020-06-20 12:20:21 +02:00
Solomon Peachy
2434b6ca25 misc: Remove all 'twiki' references in favor of up-to-date 'wiki' links.
(This migration happened over a decade ago!)

Change-Id: Ib396414a16f2d763e549af49e3f3b03047dab49c
2020-06-07 01:38:55 +00:00
Solomon Peachy
84624e14f8 bspatch: Add a __cplusplus wrapper in the header so rbutil can use it
Change-Id: Iba4e173ec73bfb38144ebb83edf3ed8161d03ebd
2020-04-15 23:33:21 +02:00
Solomon Peachy
8d2d6f4ca5 rbutil: Add bspatch and libbzip2
This is to enable binary patching of Hiby-based firmware files

  Note that noting in rbutil uses this yet.

Change-Id: I03ac824dd7402d508eb4e857ad78f184eb0d0243
2020-04-09 02:24:49 +02:00
pavel
2ce000272d Rockbox Utility: updated Czech translation
fixed wrongly set writing direction and translated missing strings

Change-Id: I4d0fd8430f334317c05b9e827ba2b547017ed2cd
2020-03-29 01:02:34 +01:00
Franklin Wei
3f89f1ce44 Correctly update game file download URLs.
Change-Id: I04a967a6a88d2e1440203401ca3022a8ca985177
2019-11-14 19:42:06 -05:00
Franklin Wei
a8be52c62a rbutil: fix windows release build
This fixes two of them: not finding the lrelease binary and not
compiling for C++11 (which is required by some Qt headers now).

Change-Id: I3c0eb3c2002c3ce7a2eeea877db5fa6942c9b2ba
2019-11-10 19:53:36 -05:00
Franklin Wei
a5f228eee2 rbutil: fix windows cross compile (via M cross environment)
This fixes a couple of issues when cross-compiling for windows:
 - lib builds (i.e. mks5lboot) were overriding the cross CC/CXX with the
   native CC, producing incompatible binaries.
 - Qt made the accessibility plugin part of the core library, so we no
   longer need to import it.

Change-Id: I9d884aee62dfa51d3624a3fa9b99c23b3b375f20
2019-11-09 20:54:57 -05:00
Franklin Wei
86a313a177 rbutil: update game data URLs to official download server
Do not merge until files are in place.

Change-Id: I8e0564f2cfdae0fecde1a56f98cb22f59a4bf9e2
2019-10-31 19:03:34 -04:00
Franklin Wei
26b55ba5f0 rbutil: extend game file installation
RbUtil will now install freely distributable data files for Duke Nukem 3D,
Quake, SGT-Puzzles (fonts), Wolfenstein 3-D, and Another World. Currently
the urls point to my personal server, pending upload to the main download
server.

Change-Id: I2806fd1ad7e9bb0fcb7aee5444840708e6e63032
2019-10-31 19:03:30 -04:00
Franklin Wei
06a26ab07b Bump RockboxUtility version to 1.4.1
Needed to get ipod6g bootloader support in place for upcoming 3.15 release.

Change-Id: I22ab3f97224577b148baf7197fa57486ee015174
2019-10-28 17:33:50 -04:00
Franklin Wei
d1fda5ef7c rbutil: enable ipod6g
Change-Id: Ice8f7fa682c75ccabb52f8d9ef27fa48af4c0689
2019-10-28 17:32:25 -04:00
Cástor Muñoz
e43ef1f3e7 rbutil: add support for iPod Classic 6G bootloader
Change-Id: I0e237a81098a2d4df8d9f5d6deaaab3863a84fc6
2019-10-28 00:09:35 -04:00
Cástor Muñoz
c353bef3d1 rbutil: add function to suspend/resume processes
Change-Id: I99cfaaa4f853930cea88184496e91589b42859f3
2019-10-28 00:09:35 -04:00
Solomon Peachy
07084f62c4 Fix host build of mkimxboot, mknwzboot, nwztools, and rbutil with crypto++
Necessary to get working builds on my Fedora 29 system.

Change-Id: Ia6232427c959629ade9a85fc412738f688facedb
2019-01-25 12:58:18 +01:00
Amaury Pouly
ee2eb13b74 mkimxboot: small fixes and display a human readable error
Change-Id: I9362b62351925aef5b14656635875123942fe7e4
2017-11-05 18:30:11 +01:00
Amaury Pouly
5a3b30d8fd Add support for ZEN Mozaic firmware Version 1.06.01 to mkzenboot
Change-Id: I7d912c50ae14e186cb2a2d0f66b876cfe9ff3028
2017-11-04 22:58:29 +01:00
Pavel Rzehák
533b2da2ab Rockbox Utility: updated Czech translation
translated missing strings and revised existing

Change-Id: I1814b31b18cda700fb34f23f818ccbe031b4251f
2017-09-23 18:46:27 +02:00
Amaury Pouly
127e6bbfdd Add support for the NWZ-E350
Strangely it has the SAME encryption key as the E450. Either they didn't bother
changing it or more likely they have exactly the same internals and a slightly
different case.

Change-Id: I39ab88845b3e40db34160c2e61dde421f391df44
2017-09-17 23:47:49 +02:00
Amaury Pouly
7de1d8b70f mknwzboot: add support for uninstallation
There is not need for a bootloader file to create an uninstall firmware so one
needs to provide a model.
Also cleanup the install script a bit by factoring message into a function, also
print them to the log so that the user can report what was printed on the screen
easily. The uninstall script is quite trivial, it remounts the rootfs and restores
the backed up OF to its right place.

Change-Id: I1f5c0efeb965fdc7fe17f45c2753c0f52c34f7f1
2017-09-17 22:16:50 +02:00
Amaury Pouly
91d3c8e459 Add support for the Sony NWZ-S750
Change-Id: I9050129949809b3dbe9f4f9e816f8980c4f3a904
2017-09-17 14:35:58 +02:00
Amaury Pouly
ac57f96838 Add support for the NWZ-A860
Change-Id: Ibf0c5168ac31d4ba2aeaa86cbeca37a1011b75fa
2017-09-17 00:03:02 +02:00
Johannes Rauh
3a5ae7dd3a Add support for Sony NW-A20
Add original author to CREDITS

Change-Id: I7a0159635c7896e2b5521c078ef62618f568d89e
2017-09-06 17:16:55 +02:00
Amaury Pouly
1d121e8c08 Initial commit for the Sony NWZ linux port
SUPPORTED SERIES:
- NWZ-E450
- NWZ-E460
- NWZ-E470
- NWZ-E580
- NWZ-A10

NOTES:
- bootloader makefile convert an extra font to be installed alongside the bootloader
  since sysfont is way too small
- the toolsicon bitmap comes from the Oxygen iconset
- touchscreen driver is untested

TODO:
- implement audio routing driver (pcm is handled by pcm-alsa)
- fix playback: it crashes on illegal instruction in DEBUG builds
- find out why the browser starts at / instead of /contents
- implement radio support
- implement return to OF for usb handling
- calibrate battery curve (NB: of can report a battery level on a 0-5 scale but
  probabl don't want to use that ?)
- implement simulator build (we need a nice image of the player)
- figure out if we can detect jack removal

POTENTIAL TODOS:
- try to build a usb serial gadget and gdbserver

Change-Id: Ic77d71e0651355d47cc4e423a40fb64a60c69a80
2017-09-05 21:42:12 +02:00
Cástor Muñoz
d6452729e3 mkimxboot: fix compilation issues with crypto lib
Change-Id: Ic81583dc7e872d332cbd4fd87143579cceeda484
2017-06-24 12:52:53 +02:00
Cástor Muñoz
fbbba9292b mks5lboot: updates
- fix Makefile to allow cross compilation
- Windows: use Sleep() instead of nanosleep()
- Windows: libusb now is optional
- OS X: use IOKit instead of libusb
- small rework on the DFU API

Change-Id: Ia4b07012c098ad608594e15f6effe9c9d2164b9b
2017-06-19 02:00:30 +02:00
Cástor Muñoz
cf168d4636 ipodpatcher: remove external ddk/ntddscsi.h dependency
Change-Id: Ib614f4181fe29ef04fcf64f90e37edc3a064270a
2017-06-19 02:00:30 +02:00
Cástor Muñoz
346423c040 mks5lboot v1.0 - dualboot installer for s5l8702 targets
A tool to install/uninstall a bootloader into a s5l8702 based device:

- iPod Classic 6G
- iPod Nano 3G (TODO)

See mks5lboot/README for detailed info.

Change-Id: I451d2aaff34509ebd356e4660647e5222c5d3409
2017-04-14 00:03:42 +02:00
Amaury Pouly
759a78e5df imxtools/sbtools: switch SHA1 implementation to Crypto++
The current implementation was custom and super slow. Since we use Crypto++
anyway, we might as well get use a good implementation.

Change-Id: I761ad7401653471e54000e1c2bc3d9882378112f
2017-01-16 19:59:28 +01:00
Amaury Pouly
8b3f5a8ad7 imxtools/sbtools: switch AES implementation to Crypto++
Instead of having our own copy of the AES code, use a good library to do that.
Crypto++ is well-maintained, supports a lot of ciphers, works on many OSes, and
is optimized for many architectures.

Change-Id: I7d7d24b47993206d7338c5f9bac8bbdd3915a667
2017-01-16 19:59:26 +01:00
Amaury Pouly
2b20026dd7 imxtools/sbtools: rework cryptography
It was a mess, a mix of crypto_* and cbc_mac calls. I made everything call crypto
functions, and also separate key setup from cryptographic operations, this will
be useful to speed up the code in the upcoming commits. Drop support for "usbotp"
key, since the crypto code for that was never mainlined and we can always get the
keys from a device as long as we have code execution (using the DCP debug registers).

Change-Id: I7aa24d12207ffb744225d1b9cc7cb1dc7281dd22
2017-01-16 19:58:24 +01:00
Amaury Pouly
a5950c69af imxtools: rework key/IV overriding logic
The overriding of the IV and real key should be the exception, there is no
need to manually set them to false.

Change-Id: Id66754f20a79aa5c1a991839345d1242e0aa587d
2017-01-16 19:50:25 +01:00
Amaury Pouly
e25983607c mkimxboot: add NWZ-E380 firmware 1.00.200
Change-Id: I0c949a464a0e5880d1215db571aac402ca81eae9
2017-01-02 21:44:22 +01:00
Amaury Pouly
23ecdebf97 mkimxboot: implement firmware unpatching
Change-Id: Idfd68c06f89cdef8e95865e3ff177a6daa072c1a
2017-01-02 21:43:51 +01:00
Amaury Pouly
ff946f1f69 imxtools: completely rework patching logic to prepare unpatching
The old code was working but a mess to maintain. The new code is cleaner
and always simpler handling of all the different options. Extraction of the
OF is no longer a standalone function but just one particular output type.
This commit prepares the ground for firmware "unpatching" (aka OF extraction
from patched OF). The patching code itself did not change so this commit
should still produce the exact same images as before.

Change-Id: I3840793d4b78b8435e38c08f558840925085ead1
2017-01-02 21:43:10 +01:00
Amaury Pouly
782d9c0d80 mkimxboot: add the concept of soft MD5 sum
Change-Id: I7e83218ce0dccc1f4c4a7a6bb9c1df00dacf260b
2017-01-02 21:42:01 +01:00
Amaury Pouly
b772782ce5 mkimxboot: don't forget to pass model if given on command line
Change-Id: I1d20b38ff5b0f337d9a2eef6e2e1d6c170aabce7
2016-12-19 18:46:40 +01:00
Dominik Riebeling
3ee79724f6 Fix linking with C++ files.
When linking with C++ files the linker also needs to link against the C++
libraries. This is done automatically when invoking the compiler upon linking.
Since we don't want C++ dependencies on C-only projects we check if we actually
have C++ files and use either the C or C++ compiler.

Rename CFLAGS since it's now used for both C and C++ compiler and add dedicated
CFLAGS, CXXFLAGS and LDFLAGS variables.

Change-Id: I9cc068a8038f21e8fd96b20173a8f790e6ab4b6e
2016-12-16 21:50:36 +01:00
Dominik Riebeling
78cb7f0cf0 Support C++ in libtools.make and rewrite dependency handling.
- Change suffix of objects and depencency files to keep the original file
  suffix. This makes it easy to distinguish between C and C++ files when
  building and avoids implicit make rules trying to build in a way we don't
  want to.
- Implicitly handle dependencies instead of having an explicit rule. Simplifies
  things a bit.
- Support C++ files by adding an explicit rule for them. With keeping the
  original file suffixes this becomes quite simple.
  To use C++ files simply add them to SOURCES (or LIBSOURCES).

Change-Id: I22c56a6e153e281cfa675e91ad4a70fd18e2c43c
2016-12-16 19:46:08 +01:00
Dominik Riebeling
6f4beaa52c Don't add LIBSOURCES to SOURCES.
Split source files for library and stand-alone binary and use library as
dependency when building the stand-alone binary. This avoids dependencies
getting added multiple times.

Remove outdated RBARCH handling, we always create fat binaries on OS X these
days.

Change-Id: Ia15a731296edcbe90869a1bf66dda2c3d6c7e317
2016-12-16 19:46:07 +01:00
Dominik Riebeling
efe3775145 Create local file URL using QUrl.
Don't construct the local file URL from string. On Windows the URL needs to
start with file:/// instead of file://. QUrl handles this.

Change-Id: I3dea29a8d368ebdc20eeff6b1f1cf5058d1b5d05
2016-12-16 19:46:00 +01:00
Dominik Riebeling
14ef6079c0 Fix various unit test compilation.
There's now a dependency on Logger.h, add stub folder to includes to stub it.

Change-Id: I1afdc6bd878182b03cb3c1f3538779eaa9f83f28
2016-12-16 19:44:41 +01:00
Amaury Pouly
a983859291 imx233: add capability to boot OF or updater instead of Rockbox
This commit adds the necessary code in the dualboot stub (bootloader) to
let rockbox control the boot process. In particular, rockbox can now choose
if the next boot will be normal (boot rockbox or OF on magic key), to OF
or to updater.

The intents (to be added in follow-up commits) are:
1) Let the user more easily reboot to the OF. On some targets it is not trivial,
especially in USB mode.
2) Automatically reboot to updater when the user drop firmware.sb at the root
of the drive (currently, the user needs to do that in OF USB mode)
3) Document this OF magic

Change-Id: I86df651dec048c318c6a22de74abb8c6b41aa9ad
2016-12-12 12:03:08 +01:00
Amaury Pouly
1c4373fd1f imx233: fix dualboot, forgot a file
Change-Id: I8d5817d75f76a201c3a8b76db0d1e11f71548179
2016-09-22 21:31:29 +01:00
Amaury Pouly
673ee48675 imx233: fix dualboot stubs
They did not compile anymore after the register hearder rework. This change
only fixes the syntax, the generated binaries are exactly identical.

Change-Id: Iec2347aa3deb1ddfe2ca36f0db1e481c4e2d329c
2016-09-22 21:03:31 +01:00
Cástor Muñoz
40ce2b4133 rbutil: add abort signal for bootloader install/uninstall
During the bootloader install/uninstall process, a signal
is emitted when "Abort" button is pressed, the installers
can attach this signal and cancel the process.

Change-Id: I7f297b8031d7a2d93da0022081aaef03ef041baf
2016-08-15 20:14:25 +02:00
Cástor Muñoz
e4af97300d rbutil: show progress bar during bootloader uninstall
Useful for targets that needs multi-stage uninstall. On current
targets (with Uninstall capability) the progress is updated to
100% when bootloader uninstall is successfully finished.

Change-Id: I61be1c4f5cfc2d2f35fa5005962be9703888447d
2016-08-15 20:12:32 +02:00
Cástor Muñoz
5a673d6df2 rbutil: enable "done" signal on bootloader uninstall
This allows to implement multi-stage uninstallers. Should not affect
the behaviour on current targets.

Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec
2016-08-15 20:10:59 +02:00
Amaury Pouly
a6b4bf3a33 mkimxboot: remove code for NWZ-370/380
Since the stub code is shared with NWZ-360, it enables the pullup for the
hold button, but the NWZ-370/380 doesn't have a hold button so don't compile
this code in, it could potentially have unexpected effets or increase consumption

Change-Id: I28c8aa40fc7f9373593ff105fb6df557a6f57ccd
2016-05-25 23:29:04 +01:00
Amaury Pouly
b40ad7d269 mkimxboot: make cross compiler for dualboot stubs overridable
Change-Id: I90d2048f622b355eae7091e536b940b2ac828583
2016-05-25 23:28:25 +01:00
Mihail Zenkov
2a1e9eb8a8 Reverting 4327cbc9b8
I do testing incorrectly: fix don't work as expected.

Change-Id: Ie32672ec213861c02295ae0a14e22b9ca9035585
2016-05-04 01:34:08 +00:00
Mihail Zenkov
4327cbc9b8 C2X0v2: use GPIO to check button state in dualboot
C240v2 freeze on booting OF if SD card inserted. Use GPIO instead DBOP should
help.

Change-Id: Idec0028040f91c6d2c7c04327ca0e1af204f58eb
2016-05-03 17:41:36 +02:00
Dominik Riebeling
ee567d8579 Fix wrong typecast in test.
Change-Id: I01acae450bcbb9c9e2b45d3ee62817b9256540c3
2016-03-27 12:38:18 +02:00
Dominik Riebeling
bbb46a885d Improve handling of Qt5 subversions on OS X.
Qt 5.6 on OS X requires targeting at least OS X 10.7, while for earlier
versions we can still target 10.6. Handle this case and inform the user about
the used target version.

Change-Id: I78e426037e2966241ab9a63105e04e7366b469ed
2016-03-27 12:38:18 +02:00
Dominik Riebeling
32aaa52ed4 Use Gestalt to get number of CPUs on OS X.
MPProcessors has been deprecated with 10.7. When targeting 10.7 (required when
building with Qt 5.6 on OS X) this causes a warning. Use Gestalt instead
(Gestalt has been deprecated with 10.8, but when targeting 10.7 this doesn't
cause a warning, and Gestalt is used for other values as well).

Change-Id: Iaf82147ad47115e228f5c08f8198a6a7e92102a3
2016-03-27 12:38:17 +02:00
Dominik Riebeling
8624392f7e Fix compile warning on OS X.
Current clang on OS X suggests placing parens so add them
(-Wbitwise-op-parentheses enabled by default).

Change-Id: I31b49386aa184fe27f72f7f58909b97524d96f44
2016-03-27 12:38:17 +02:00
Dominik Riebeling
7cc6d85df9 Fix C++11 compile error with version strings.
C++11 requires a space between literal and identifier. When compiling with Qt
5.6 on OS X C++11 support is automatically enabled, causing an error due to
this.

Change-Id: Ifbedc894a3cef23fc67ed1da75558e92e44d1077
2016-03-27 12:38:17 +02:00
Dominik Riebeling
1015088d90 Fix building with Qt 4.7.
QUrl::isLocalFile() is available starting with Qt 4.8. We can safely check for
a file:// url instead.

Qt 4.8 dropped support for OS X 10.4 / 10.5. Since we're still supporting those
we need to keep using Qt 4.7 on OS X. We might want to consider requiring at
least 10.6 on OS X with the next major release of Rockbox Utility.

Change-Id: I18998fe3c7a38773479bc7a1c32ca6e4966359e9
2016-01-17 20:47:08 +01:00
Dominik Riebeling
5c027e3b5c Fix uninstallation for mi4 based bootloader installs.
On case sensitive systems (i.e. Linux) uninstalling the bootloader could fail
when renaming the original bootloader file back. Fix this by using the
case-resolved filename.

Change-Id: I504656f70e7ccc7c0752f5252ddb14a625131f5b
2016-01-17 19:18:26 +01:00
Dominik Riebeling
537f9a4ab6 Return process IDs in Utils::findRunningProcess().
Rework to return mapping between (filtered) process names and their pid values
(if running). Note that this functionality is not implemented for Linux (but as
it's mostly intended to detect Itunes currently not needed on that platform).

Change-Id: Ie348bfed46bda390f469c37635a96c75e5782616
2016-01-17 19:18:26 +01:00
Dominik Riebeling
3b089b439f Add color to trace debug output.
Change-Id: Id2c90220ab695a8195af50cdea8437b49744f720
2016-01-17 19:18:26 +01:00
Cástor Muñoz
610b80b9ca rbutil: fix writing to rbutil.log after bootloader uninstall
Change-Id: I722d4d5a83fc57bd8df33bfb23a0ab16e5ac4861
2016-01-17 19:16:53 +01:00
Cástor Muñoz
0992092a0f rbutil: fix resolveDevicename() on Windows
Solves some eject issues (FSCTL_LOCK_VOLUMEN ioctl failures) ocurring
when resolveDevicename() is ejecuted prior to ejectDevice(), tested
with Qt5.

Change-Id: Iff9240abd9d2f71bec1a1070f4ef194916e13b65
2016-01-17 18:47:51 +01:00
Cástor Muñoz
ad65f8cc71 Handle mixed case in Windows USB ID detection.
Windows XP might use mixed case in hardware ID (VID / PID) string.

Cherry-picked from G#1221.

Change-Id: I86fa63e050cd9b9de5a1beac65b81028e0f86a9d
Signed-off-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2015-12-20 12:25:41 +01:00
Dominik Riebeling
7d7359ae63 Fix and extend HttpGet unit test again.
Fix wrong initialization (why did that compile?) and add check for progress
signal.

Change-Id: I83a193252afcf66acaa333750b0ac2ef83e38478
2015-12-20 11:10:18 +01:00
Dominik Riebeling
70baf0f7be Fix compiling HttpGet unit test.
Provide a stub for Logger class to make the test compile.

Change-Id: I142eaf443c1f9026506100b82c9341e83b619ab6
2015-12-18 23:42:18 +01:00
Dominik Riebeling
7e7fd0c7b8 Use random port for HttpGet unit tests.
Make local HttpDaemon for testing use a random unused port instead of a fixed
one. Avoids possible issues with the port chosen already being used on the
local machine.

Change-Id: I1ca10b7e5ce198350e14321afc50c36d78b1c0b4
2015-12-18 23:42:18 +01:00
Dominik Riebeling
79d513dd7e Add documentation to HttpGet and remove unnecessary return value.
HttpGet::getFile() always returns the same value. Remove the return value since
it isn't necessary. Add some missing function documentation comments.

Change-Id: I1cee242211272a996437b10dbc8de791b3fc3d67
2015-12-18 23:42:18 +01:00
Dominik Riebeling
d24a9ea3b2 Add support file:// URLs in HttpGet.
QNetworkAccessManager can handle file:// URLs without additional work. Make
HttpGet aware of that so you can now also use it to retrieve file:// URLs. Add
a unit test for it as well.

Change-Id: If64b57453460b70bca9e5b0c725bb78344617bcd
2015-12-18 23:42:17 +01:00
Cástor Muñoz
4627d4b56e Fix static compilation with Qt5.
Qt5 uses a different name for the accessibility plugin. Cherry-picked from
G#1221.

Change-Id: If32eafa053a176ba24b4595826593023ed808164
Signed-off-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2015-12-18 23:42:17 +01:00
Dominik Riebeling
226922efe3 Fix USB IDs for Sansa c200v2.
The wrong IDs made a connected c200v1 get detected as c200v1 and c200v2 in MTP
mode.

Change-Id: I9048910ca9d768b17b9d23e4679c96d9ab8d6831
2015-06-20 20:42:59 +02:00
Dominik Riebeling
4c4c645d82 Win32: fix possible crash when listing USB devices.
Make sure to handle if retrieving the device description ends up with a NULL
data buffer pointer. Also switch handling the retrieved string using QString.

Fixes a crash reported in the forums.

Change-Id: I6e95a411308e85656cd78ddcecb1bcee165864d0
2015-06-07 22:25:54 +02:00
Dominik Riebeling
e606ee42c2 Make lrelease detection work on Windows.
Make sure to expand variable before testing.

Change-Id: I6b6f11782677c178fe3f2209f84887084940976a
2015-05-30 19:16:11 +02:00
Dominik Riebeling
ef21b30454 Make lrelease detection work on Windows.
Windows doesn't have which, so building natively on Windows didn't create
translations anymore. Use a which-less approach instead.

Change-Id: I7b4c40b26d68da54277a148e8e2d76ac81061c8b
2015-05-30 19:01:33 +02:00
Dominik Riebeling
47d053735b Initially scroll to changelog end.
Since currently new entries are at the bottom scroll down when opening the
changelog window.

Change-Id: I3cec84f5d9251e268c34335d8032dd11f42098ae
2015-05-18 22:48:54 +02:00
Dominik Riebeling
a213c1828f Extend project file message output and always run lrelease.
Check for lrelease and always try to run it if found. If not found show a
warning. This avoids build problems for certain setups which previously
required -config dbg to complete.

Change-Id: I60f0f49adc8455743afc5e4d23294ce0729f38d2
2015-05-18 22:44:36 +02:00
Dominik Riebeling
5db55387b9 Fix building with MSVC.
MSVC doesn't like function style call to the logger.

Change-Id: I98480442cafbec6728198e5f3bc40f992d4ea477
2015-05-14 22:18:58 +02:00
Dominik Riebeling
44fcebb988 Fix libs path for building with MSVC.
Change-Id: Iaa0a20c8bff1faaa191de70d6f02c62dafec1591
2015-05-13 23:00:49 +02:00
Dominik Riebeling
d1598cfa85 Add information about compiler used to startup log.
Change-Id: I47442ea0458461d0ae0a1af40e7719f8543b1992
2015-05-02 16:52:14 +02:00
Dominik Riebeling
09a25deeea Apply -Wno-unused-local-typedefs for gcc only.
Change-Id: I098882ea1c1a3f5265a763046400d79aed8eb43f
2015-05-02 16:52:14 +02:00
Dominik Riebeling
9ecfe6151b Separate logger / quazip project file parts.
Move to separate project include file for better readability and reusability.

Change-Id: If75805be8fad4aec8ede600f5c616a9412ac0505
2015-05-02 16:52:14 +02:00
Dominik Riebeling
b230cf3aa2 Update quazip to release 0.7.1.
Update to latest quazip release. Note that quazip is now LGPL and not GPL /
LGPL dual licensed anymore.

Change-Id: Ie1e975b5b546dd31218eef9df472527493fe81e0
2015-05-02 16:52:14 +02:00
Dominik Riebeling
d4fee36971 Remove unnecessary Id line.
Change-Id: I48428eb1e455a841f9f1295cf6a61631bd925977
2015-05-02 16:52:13 +02:00
Dominik Riebeling
4fb4de362c Update german translation.
Change-Id: Ieb9b94d39009db4954df05cc1f54161b76b44f61
2015-05-02 16:52:13 +02:00
Dominik Riebeling
72b81c2559 Improve update check information dialog.
Show the user both the current and updated version.

Change-Id: Ief693cce020a39a0c79bf2705da4a44b7bd15928
2015-05-02 16:52:13 +02:00
Dominik Riebeling
43b1ccffcc Add note to boot OF for update with OF on uninstallation.
Change-Id: Ia2955ecc9616eaa91644970ef81320e23a7970a0
2015-05-02 16:52:13 +02:00
Amaury Pouly
98a69ec500 mkimxboot: fix usage message
Change-Id: I7a7a2c56c434525ac242f447dd8bb287d5fc69eb
2015-03-08 22:57:29 +01:00
Семён Жуковский
1865efc021 Update Russian and French rbutil translations.
Change-Id: I52a42309b27b44463061f36a98b131d82a58a293
2015-02-22 13:30:48 +01:00
Udo Schläpfer
cef17e3d59 iBasso DX50/DX90: Rockbox loader, replacement for original firmware MangoPlayer.
This loader is needed to use Rockbox on iBasso DX50/DX90 devices. It replaces
/system/bin/MangoPlayer.

It expects
- the original firmware MangoPlayer as /system/bin/MangoPlayer_original
- the chooser.bmp file as /system/chooser.bmp
- the rbmissing.bmp file as /system/rbmissing.bmp
- the usb.bmp file as  /system/usb.bmp
- Rockbox in /mnt/sdcard/.rockbox/ (internal device storage accessable via USB)

On first boot or if the device is booted with the hold switch engaged (upper,
locked position) this loader will let the user choose between Rockbox and the
orginal firmware MangoPlayer. It remembers the last choice and will start the
choosen player an following boots.

In the chooser screen
- the device can be powered off with a power button long press.
- Rockbox can be startet with the "Next/Fast Forward" button or by touching the
right part of the touchscreen.
- the orginal firmware MangoPlayer can be startet with the "Previous/Rewind"
button or by touching the left part of the touchscreen.

If Rockbox can not be found/executed than a "Rockbox is missing" screen will be
shown and the orginal firmware MangoPlayer will be started after 30 seconds.

This loader will (try to) restart Rockbox or the orginal firmware MangoPlayer if
something unexpected happens.

This loader can be installed via a customized firmware image (update.img) or
manually via the Android Debug Bridge (if you get adbd started on the device).

This is a rewrite and code clean up of the original submission, eliminating the
need for a custom Android Vold. This loader "knows", when Rockbox has exited due
to a USB mass storage connection remounting /mnt/sdcard and acts accordingly,
displaying a "USB connection" screen while waiting to restart Rockbox.

Change-Id: I2698e173437f9c7aa1ff40649a290220e2ee0439
2015-02-02 21:01:00 +01:00
Thomas Jarosch
2a3e1628a5 Limit more variables to file scope
Change-Id: I30219d626316776eb73b4205d63376fa3dbc6361
2015-01-11 21:40:51 +01:00
Simon Rothen
0b5ad60c26 Introducing Targets iBasso DX50 & iBasso DX90
The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source
can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port
was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port.
The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port.
Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did
was to separate the code for DX50 (&DX90) from the android target.
On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it.
What else I changed from Ilias sources besides the separation from the target "android":
* removed a dirty hack to keep backlight off
* changed value battery meter to voltage battery meter
* made all plugins compile (named target as "standalone") and added keymaps
* i added the graphics for the manual but did not do anything else for the manual yet
* minor optimizations

known bugs:
* timers are slowed donw when playback is active (tinyalsa related?)
* some minor bugs

Things to do:
* The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the
  official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with
  ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights.
  Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go.
* All the wiki and manual

to build:
needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed

./tools/configure
select iBasso DX50 or iBasso DX90
make -j apk

the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed)
the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed)

The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There
is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary.

Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his
bitbucket page, using the CWM-OF and his installation script package.

Change-Id: Ic4faaf84824c162aabcc08e492cee6e0068719d0
Reviewed-on: http://gerrit.rockbox.org/941
Tested: Chiwen Chang <rock1104.tw@yahoo.com.tw>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-09-18 18:19:01 +02:00
Dominik Riebeling
79a56fabb9 Compile imxtools as gnu99 standard.
With current MinGW using c99 as standard the compiler causes problems with some
types.  Use gnu99 standard instead which doesn't do this.

Change-Id: I731f58025645ae88ac226593a2b2a62140285ee8
2014-06-30 17:58:37 +02:00
Dominik Riebeling
7de2a364d0 Add note about translations to MSVC build instructions.
Change-Id: I06ed441801f50a7331d7610beaf6535f6ec0c602
2014-06-30 17:57:24 +02:00
Dominik Riebeling
d30c500b96 Make clean target work for MSVC dll Makefile on Windows.
Change-Id: Ifb9a00530720e0997421af9a07ae8c133f0edfd0
2014-06-30 17:57:24 +02:00
Daniel Kluz
1879de7ba3 Update polish translation for Rockbox Utility (FS#12979)
Change-Id: Iaca68eb72e030964b5692d03b03e312b8b05b05a
2014-05-25 15:48:08 +02:00
Dominik Riebeling
896b771710 Fix crash when detecting a player in MTP mode.
Change-Id: I65bf6928584735d6a179750c313fb8e7dcf7add5
2014-05-24 22:57:25 +02:00
Dominik Riebeling
3136465c42 Improve MSVC support in project file.
Enable MSVC specifics by checking QMAKESPEC instead of depending on a qmake
command line switch.

Change-Id: I77f72acd6661d5d7bc5776cc2dc877a11920dc7e
2014-03-23 20:47:45 +01:00
Dominik Riebeling
202717d18f Fix MSVC not knowing inline for C code.
MSVC needs to use __inline instead of inline when compiling C code (the inline
keyword is only avaliable in C++). Use the preprocessor to work around this.

Change-Id: Ic9884a7421cee7dc7c943ab205312f50233fb100
2014-03-22 22:25:21 +01:00
Dominik Riebeling
d85a84fc83 Add msvc qmake config option for building with MSVC.
When building with MSVC we need to add the msvc folder to the include list, and
remove the libraries from the dependencies since they need to get built
separately.

Change-Id: I297787f32495da4541c67bfef549b4d1ad68dd18
2014-03-22 22:20:48 +01:00
Dominik Riebeling
258e4ad850 OS X: detect clang and build for x86 target only.
Newer versions of Xcode / OS X don't support PPC code anymore and replace gcc
with clang. When clang is detected assume we want to build for the default
architecture only and change the minimum OS X version to 10.5.

Change-Id: I5843fa9bb3d957ec6f0a537e857608ad99c31517
2014-03-20 22:26:24 +01:00
Dominik Riebeling
c18908d6bd OS X: update project file for Qt5 support.
- Qt5 doesn't support PPC anymore, so always build for x86 only.
- Qt5 requires the use of the multimedia module (as Windows).

Change-Id: I7d54faffe9d2fb557f55234ba7b81a508d92a38b
2014-03-20 22:26:24 +01:00
Dominik Riebeling
06a2e7c3bb OS X: use FSGetVolumeParms when targeting 10.5+.
PBHGetVolParmsSync() is not available when building with 64bit. The replacement
FSGetVolumeParms() is available on 10.5+ only. Use the latter when building
with target version 10.5+. This requires builds targeting 10.4 to 32bit and
allows building as 64bit when targeting 10.5+.

Change-Id: Ic53217f3090147bea473613335f9482623a470bd
2014-03-20 22:26:23 +01:00
Dominik Riebeling
f8e3b61565 OS X: don't include libusb headers.
We don't use libusb on OS X anymore, so don't include it anymore.

Change-Id: I32b721e097e5958a2e7359ccd79bf2d3b2d0ad9d
2014-03-20 22:26:23 +01:00