Commit graph

606 commits

Author SHA1 Message Date
Amaury Pouly
99f20b85f6 nwztools: various fix and enhancements
Change-Id: Iaa89df27b7a0c4eb9fc6603c431de3d1fe791fa1
2012-11-03 14:04:27 +01:00
Amaury Pouly
6d04ed343c scsi_tools: add support for nvp reading
There is a vendor specific command to read the NVP of the device,
including the KAS. The trick is that the data is randomly
scrambled using a so-called para_noise array of random values.
There seems to be a problem when retrieving large entries (>1000
bytes typically) which causes sg_pt do behave strangely.

Change-Id: Iefa6140df78ab9c7dcf7ac34cb1170979123ecd7
2012-11-03 04:25:25 +01:00
Amaury Pouly
3e1c492680 Introduce scsitool for sony nwz players
This tool can send vendor specific scsi commands to sony nwz
players such as getting serial number, model id, device info,
and others. It can potentially be used to get some private keys
stored on the device but probably not the KAS used to encrypt
firmware upgrades images(UPG).

Change-Id: Ia49c1edf8d421b20c4e9afeb1192e00e06eb6047
2012-11-03 02:29:00 +01:00
Amaury Pouly
cb09e369fb Introduce upgtools for sony nwz players
This tool can unpack UPG archives for firmware updates.

Change-Id: I32f5f1a84759198c7af4a4ecfd7aa65eaeda567a
2012-11-03 02:16:01 +01:00
Amaury Pouly
8c1a9f5082 Introduce emmctools for the sony nwz players.
This tool is specific to the em1/mp200 sony based players. In
deals with raw emmc images (which is possible but hard to get).
This tool is also useful as a documentation of the underlying
emmc format used for a future port.

Change-Id: I66c9b0e47351e5d89f6a404aa62038e00fdc1093
2012-11-03 02:14:04 +01:00
Amaury Pouly
08ca0b59c8 atjboottool: add missing copyright headers
Change-Id: Idb2f5e4b0bd6a84bc3eaff088fb4706f46ed1535
2012-10-30 13:14:52 +01:00
Amaury Pouly
89254cb612 rknanoutils: add raw encode mode, add header fields
The raw encode mode allows to use the raw encode_page routine on
any file which proved to be useful. The guessed fields of the
headers are based on some rk2918 headers which leaked. They are
mainly informative though (date, version, chip).

Change-Id: I139ea0c40f76b6dde041c448bbf3e7ecf9cab24a
2012-10-18 10:41:14 +02:00
Amaury Pouly
283277e5ab atj: provide default output prefix/filenames on unpacking
If no output prefix is specified, a default is picked:
- filename with extension replaced by .afi for FWU files
- filename with extension replaced by .fw/ for AFI files
- filename without extension and with / for FW files

Change-Id: I6497b8f4a49f1238e5db738429f687cad3ae8a5a
2012-10-04 12:27:17 +02:00
Amaury Pouly
821efc46ec Introduce atjboottool for ATJ213x firmwares
Change-Id: Ie857b82e25de235c8549defab7e75995efefb3f6
2012-10-03 14:27:19 +02:00
Amaury Pouly
2f1da04cc3 zenutils/update_extract: make sure the archive is valid
The update_extract tool works by finding the compressed size and
the compressed data in the updater. This is problematic since
without the uncompressed size, inflate can produce extra bytes
at end. This is not a problem for our tools but the device will
plain reject it if sent by MTP/sendfirm for example.
Workaround this issue by reading and rewriting the archive
after decompression so that only the meaningfull data is written.

Change-Id: I117f434b92a56d93d269af49c3e426cd8cc0c7e4
2012-06-27 14:56:20 +02:00
Amaury Pouly
7c9e7ec707 sbtools: add option to force sb dump
In the case of encrypted SB files without any key match, it is
still possible to dump the section headers. The force option
allows one to do so. It also allows to dump unencrypted sections
of encrypted files if there are some.

Change-Id: I36280230679ac5903f9c451c68c276f5c6959536
2012-06-27 14:55:58 +02:00
Amaury Pouly
f62009303a rknanoutils: fix crash with no prefix, remove debug code
Change-Id: I73e277a8dc2fbd5790b1d7173e449d883710f27a
2012-06-19 23:01:00 +02:00
Amaury Pouly
906963ae76 rknanoutils: much more sensible format guess
I finally found a sensible format for the executable files.
The tool now can output the loading entry to elf files. Some
disassembly and analysis suggest the phys/virt addresses are
correct. However the entries are somehow linked and it is
still unclear how (are there "calls" to the code ? when ?).

Change-Id: Ied38b5bb297176c5755b5ecb3309f4a259c18cd4
2012-06-19 22:54:41 +02:00
Amaury Pouly
d6bbe39dc6 rknanoutils: more reverse engineering of the BOOT format.
I found out that the file has a number of "entries", in
3 categories. The third category seem to contain bootable files.
In the RKnano firmware file I have, these entries are named
"NandBoot1" and "NandBoot2". They seem to use the same format as
the stage3 of the RKnanoFW format but we do not understand this
format precisely for now anyway.

Change-Id: I72d77e609cdeeb802af793c010d6788bf36cd7e2
2012-06-19 15:42:16 +02:00
Amaury Pouly
cbd44f4bc4 Update the rknano utils.
This is mostly based on reverse engineer of the _RKUpgrade.dll
from the SAM3xx upgrader.

Change-Id: I37f4503899c7198ce463130b2ff994da9ca7dc4b
2012-06-10 21:56:37 +02:00
Amaury Pouly
c4911de1a0 Initial commit from rknano utils. This is very preliminary work.
Change-Id: Iddc4b39a4611f12b9eefc3a96d7eeb7229777ebb
2012-06-07 14:49:14 +02:00
Amaury Pouly
cc59ea453d Fix findaddr.pl tool for codecs
Change-Id: I19dff8c9f3e8195d1e8d652e6365375a87debddf
2012-05-31 15:56:34 +02:00
Amaury Pouly
a87a9ef373 imxtools: move tools to a new sbtools/ subdirectory
Change-Id: I0d8d6831b35037725486f61fc363de87bc8ba92e
2012-05-31 13:57:25 +02:00
Thomas Martitz
9c33f93c1c ypr0: Add kernel module to required support fm radio.
To support fm radio a kernel module was written. This module is added to
the patched firmware that loads Rockbox. It's pre-compiled but its source
archive provided.

The kernel module provides raw-access to the built-in si4709 radio chip.
Our existing si 47xx drivers can be re-used this way.

The module itself was written Lorenzo Miori, I only integrated it
into the tree.

Change-Id: I6205d28a505d57791eaeb627e6856b9a1eaeaeaa
2012-05-28 19:38:09 +02:00
Amaury Pouly
391f3ea2ae Cosmetics
Change-Id: I6ad5b6c2e4f8f57db2068fe372ab4ecadf4d03a9
2012-05-20 01:35:24 +02:00
Amaury Pouly
9f89ffa71c mkimxboot: fix warnings
Change-Id: If88b61566d8c81eda7cfc482fa82213657ae41b2
2012-05-19 16:48:15 +02:00
Amaury Pouly
b62ec2ba80 imxtools: make sb api work with in-memory files
Change-Id: I517244802efb118be214437bbaea2ef811e87aea
2012-05-19 16:10:52 +02:00
Dominik Riebeling
972b8945b8 Fix a typo.
Change-Id: I358add5df8971bc3eab4c4cf71d2e792e51979d1
2012-05-14 23:02:21 +02:00
Marcin Bukat
36d7f64555 Fix rkusbtool compilation (FS#12664) by Teemu Nätkinniemi
Change-Id: Id18eca4ade80cce2ab68317af6b7b9751d04b1cd
2012-05-13 17:53:55 +02:00
Dominik Riebeling
91cf4a7768 gitscraper: Provide way to get timestamps for files.
When scraping files from the repository allow passing an additional list of
files for which the timestamp of the last change is retrieved. Since this is
slow (the log needs to be traversed, since a blob doesn't know about commits
its referenced by) only specified files get this retrieved.

Change-Id: I61a2ef812ac18ffb5898c01ce070046d4ca00a15
2012-04-29 11:48:07 +02:00
Sean Bartell
f40bfc9267 Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-25 22:13:20 +02:00
Amaury Pouly
a0009907de imxtools: fix missing '\n'
Change-Id: I93630f5c303064deb5880421202425046aa3074f
2012-04-25 13:36:38 +02:00
Amaury Pouly
b9f9d0da51 imxtools: fix missing '\n'
Change-Id: I8d6a70e644225211b35e7b160bdf06e12c611198
2012-04-25 13:36:38 +02:00
Dominik Riebeling
885db72b8b gitscraper: support Python3.
Make gitscraper and tarball script work with both Python 2 and Python 3. Tested
with 2.7 and 3.2.

Change-Id: I31b2580660d764d013bca6fe59d5663ae9f7f5aa
2012-04-22 21:34:01 +02:00
Dominik Riebeling
2aae745458 Add new tarball generation script.
The old script depended on svn. An earlier version of this script has already
been used in the 3.11. branch.

Change-Id: Id03abb8f7bd005ede343243194c4453f0b2e8943
2012-04-12 21:15:49 +02:00
Dominik Riebeling
e9d5f6cb61 gitscraper: support compressing the sources as 7z.
The Rockbox source code uses 7z for its archive for size reasons. Add support
for compressing as 7z (by calling the 7z command line utility) so it can be
used for generating Rockbox source archives.

Change-Id: I26097ff61ff183e5ddc07b2c4473f90dc0700178
2012-04-12 21:08:38 +02:00
Dominik Riebeling
06662985cb Correctly insert build ID.
Change-Id: I35a85ffd78bd0a56a31d6ba0abbd6102727155d4
2012-03-06 22:06:40 +01:00
Dominik Riebeling
7d2c7b83b5 Rockbox Utility: add "revision" information back.
Add a revision-like information and make deploy.py replace it with the git
hash.

Change-Id: Ic88ad0b2af255e76a7129a6a5cf52663b868fd32
2012-03-06 21:45:54 +01:00
Marcin Bukat
7569450d8e rk27load: fix linking with newer toolchains
Change-Id: Id8f86e9f5ca78f41ef4e6c6a9244031afe83389d
2012-03-04 00:33:10 +01:00
Dominik Riebeling
ee1f54ca01 Append "64bit" only on 64bit binary.
Don't rely on the build host having the same bitsize as the created binary.
Fixes building a 32bit binary getting a "64bit" postfix when built on a 64bit
Linux.

Change-Id: I2aa61dee82beddd60ebfc8e227551ea49d769664
2012-02-26 17:11:36 +01:00
Amaury Pouly
c483905b92 imxtools: remove most calls to bug/bugp from core library.
It should not exit() anymore on error except on malloc failure.
Resource leaks on errors (especially I/O) are quite likely though.

Change-Id: I6fcf72fb08fc683468b390d0b8745d31ca982b48
2012-02-19 18:36:57 +01:00
Dominik Riebeling
d23d164b85 imxtools: use rand() instead of /dev/random.
On Windows /dev/random does not exist, so trying to open it will fail. Replace
it with rand() which is available on all supported platforms and sufficient.

Fixes mkimxboot not working, as well as Rockbox Utility "crashing" (which is in
fact its error handler calling exit(), thus terminating Rockbox Utility) on
Windows.

Change-Id: Ia164f937f329877e8f80f473f27be8c5df2a0a68
2012-02-08 21:28:20 +01:00
Dominik Riebeling
64f71e66b2 When writing data from repository open file as binary.
Windows requires files to be explicitly opened as binaries, otherwise it will
perform line ending translations. We really don't want the OS to mess with
that.

Change-Id: Id56de354b7ad0e5b056540755f7108456f3263ed
2012-02-06 00:14:25 +01:00
Dominik Riebeling
001eb3b211 Update deployment script for git.
First and rather rough adjustment for git. There are still a lot of places
referring to svn, and various functionality might be broken which needs fixing
later.

Change-Id: Ia628f06e99f527e01f131ce674746fba77d97d23
2012-02-05 22:00:57 +01:00
Dominik Riebeling
909b96fa70 Python module to get (some) files from the repository.
With git it's not possible to simply export a set of paths from the server
directly. This module offers a similar functionality, but requires a local
clone of the repository. It calls git directly for maximum portability.

This is a prerequisite to making the deployment script used for Rockbox Utility
work again.

Change-Id: I1aca8ddd40d16b6268c1d6a2fc23ac59e964c3c6
2012-02-05 21:26:57 +01:00
Amaury Pouly
28a10ec490 sbloader: always send packets of size xfer_size (even the first). Also maintain a table of known transfer sizes. In particular stmp3770 uses 48 instead of 1024.
Change-Id: I08dddc76c251aeeaaa3b46c9466f9be54c3d4a45
2012-01-27 20:08:33 +01:00
Dominik Riebeling
1391710466 Rockbox Utility: add missing folder to deployment script.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31584 a1c6a512-1295-4272-9138-f99709370657
2012-01-05 10:51:57 +00:00
Rafaël Carré
9274cf3b6c zenutils: remove unused empty file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31574 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 07:03:28 +00:00
Thomas Martitz
bf021e3ded ypr0: Add variables to provide a argv and stdout/err redirection for running Rockbox to the loader script.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31426 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 23:13:27 +00:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Amaury Pouly
1b7455e910 imxtools: fix compilation when cross compiling for windows (tm doesn't have timezone fields)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31342 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 10:22:36 +00:00
Rafaël Carré
62e0cdca26 amsinfo: save files with .bin extension
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31219 a1c6a512-1295-4272-9138-f99709370657
2011-12-13 03:01:16 +00:00
Torne Wuff
b9592e8be3 Convert one more file from DOS to UNIX.
Missed one, oops.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30925 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 22:52:21 +00:00
Torne Wuff
569285794b Bulk convert all DOS line endings to UNIX.
For the git migration we want a nice clean repository with UNIX line
endings. git does not use svn:eol-style, we just need the file contents to be
sane.

Sorry everybody. I know this messes up blame.

Scumbag *NIX developer says migrating to git will make line ending issues go
away; commits giant change to svn which changes line endings anyway. :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30924 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 22:44:25 +00:00
Amaury Pouly
cd832bd0f5 imxtools: add function to free instruction
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30919 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 19:41:29 +00:00