| Commit message (Collapse) | Author | Age |
| |
|
|
| |
Change-Id: Ic81583dc7e872d332cbd4fd87143579cceeda484
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
Change-Id: Ib614f4181fe29ef04fcf64f90e37edc3a064270a
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: I0c949a464a0e5880d1215db571aac402ca81eae9
|
| |
|
|
| |
Change-Id: Idfd68c06f89cdef8e95865e3ff177a6daa072c1a
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: I7e83218ce0dccc1f4c4a7a6bb9c1df00dacf260b
|
| |
|
|
| |
Change-Id: I1d20b38ff5b0f337d9a2eef6e2e1d6c170aabce7
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
There's now a dependency on Logger.h, add stub folder to includes to stub it.
Change-Id: I1afdc6bd878182b03cb3c1f3538779eaa9f83f28
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: I8d5817d75f76a201c3a8b76db0d1e11f71548179
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This allows to implement multi-stage uninstallers. Should not affect
the behaviour on current targets.
Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: I90d2048f622b355eae7091e536b940b2ac828583
|
| |
|
|
|
|
| |
I do testing incorrectly: fix don't work as expected.
Change-Id: Ie32672ec213861c02295ae0a14e22b9ca9035585
|
| |
|
|
|
|
|
| |
C240v2 freeze on booting OF if SD card inserted. Use GPIO instead DBOP should
help.
Change-Id: Idec0028040f91c6d2c7c04327ca0e1af204f58eb
|
| |
|
|
| |
Change-Id: I01acae450bcbb9c9e2b45d3ee62817b9256540c3
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Current clang on OS X suggests placing parens so add them
(-Wbitwise-op-parentheses enabled by default).
Change-Id: I31b49386aa184fe27f72f7f58909b97524d96f44
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: Id2c90220ab695a8195af50cdea8437b49744f720
|
| |
|
|
| |
Change-Id: I722d4d5a83fc57bd8df33bfb23a0ab16e5ac4861
|
| |
|
|
|
|
|
|
| |
Solves some eject issues (FSCTL_LOCK_VOLUMEN ioctl failures) ocurring
when resolveDevicename() is ejecuted prior to ejectDevice(), tested
with Qt5.
Change-Id: Iff9240abd9d2f71bec1a1070f4ef194916e13b65
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
Fix wrong initialization (why did that compile?) and add check for progress
signal.
Change-Id: I83a193252afcf66acaa333750b0ac2ef83e38478
|
| |
|
|
|
|
| |
Provide a stub for Logger class to make the test compile.
Change-Id: I142eaf443c1f9026506100b82c9341e83b619ab6
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
The wrong IDs made a connected c200v1 get detected as c200v1 and c200v2 in MTP
mode.
Change-Id: I9048910ca9d768b17b9d23e4679c96d9ab8d6831
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Make sure to expand variable before testing.
Change-Id: I6b6f11782677c178fe3f2209f84887084940976a
|
| |
|
|
|
|
|
| |
Windows doesn't have which, so building natively on Windows didn't create
translations anymore. Use a which-less approach instead.
Change-Id: I7b4c40b26d68da54277a148e8e2d76ac81061c8b
|