Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I4a7a9688af1abb14de82013703f3a02b4644d5ed
|
|
This can be useful to quickly device usb traces
Change-Id: I843fbd5280f11686ea810b44ffb1414e844ebcf9
|
|
At least newer devices support more NVP properties in a device-independent
numbering. Many are supported but I just added two useful ones
Change-Id: I57926de7f0dd364b46a57ca8d48a5c4d4f20402b
|
|
Newer devices seem to require flags 0x00 where older devices wanted 0x80, now
try both variants
Change-Id: Ifeee641052857c66c1b64860d7309a235021a168
|
|
Change-Id: I43c5101502f3d2c34296b510b738276fd74f9b3d
|
|
Change-Id: I8997e7c3791b805a70a30cd1209a69b7afbec1e7
|
|
Change-Id: Ib2c25dd21d39fda026e008950a805f032c916a72
|
|
Change-Id: Ic14bc5ff643c9cf4c6380b4c34999d704c65e460
|
|
Seems like newer versions of mingw will sponteanously add a .exe suffix to
the output path if it doesn't have one, for example mingw-gcc -o scsitool bla
will actually create scsitool.exe and of course this breaks my release script.
Fix this by explicitely adding the .exe to avoid any problem
Change-Id: Ic8019b968b532b2ca612ba0c03977a96c22cee01
|
|
If the model is not known (ie model ID in the database) but another device from
the same series is known, then the database information probably applies and
one can use the "force" option -s to tell the tool to ignore the model ID.
Automatically print such advice when the series can be guessed.
Change-Id: I6bcc7aa29693df8c3d7d8e709ece7cea650be717
|
|
Change-Id: Ic4f382667c5c84514be661d36032c47fb8f92e75
|
|
Change-Id: Ia0f96dd27c520cf2bfec4765619f53eaffee3e20
|
|
Change-Id: I3771388d24fe5fa249dcb40b231d7a4e06d3c3c8
|
|
Change-Id: I13b20b88b35e825da929a31e71ff42d68a79f131
|
|
Change-Id: Ic46c724c5d89a775dc20853410c8fe6f0ff9a4c8
|
|
Change-Id: Id35671f1e039a94e2b319262e4faa51d73f12afd
|
|
Now print list of devices immediately even if the rest of the command line
is empty (ie 'scsitool -s ?' works, whereas before one would need an actual
device to even get a list). Add more information in the help_us command:
print kas, lyr and fpi.
Change-Id: Icfeeaeebe28c774a74ca54661357fafa25c3d114
|
|
Change-Id: Ic357f82d61cc0004ac6193fa9dbbc90976042574
|
|
The tool now provides more useful information for developers when the device
is not supported. Is also has a new verb "help_us" that also prints all this
information (notably the device info and model ID).
Change-Id: I04baec8fff23eb83a0408add6296b5d42e9aa8e7
|
|
Change-Id: If616e646aeddf20aa3cee79a821a420d9102c708
|
|
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
|
|
Change-Id: I89fed904b282a202bc845b08f4c8d1200a49636d
|
|
The devinfo request returned the raw data, now the tool prints the various
fields. Also add support for the dhp (destination/headphones/color ...): this
one is untested because it's only supported starting from A10 or A20. There is
still a problem with the dpcc prop: although it should work for DEVINFO, it does
not, despite the fact that the get_dev_info command works and is internally (on
the Sony) translated into a dpcc request. I keep the code just in case.
Change-Id: I5aa8ef4afb0b11d3c0ddfa3d38f3e737ee1aff66
|
|
The detailled error message is only printed if -d switch is on command line,
otherwise there is no error message which is wrong so fix that.
Change-Id: I397541c467940e9b290ee8d4ae704368b1ce132b
|
|
Users can't read the wiki instructions, hopefully they can read this...
Change-Id: I3840879fdc663fb6e7f9234f352eea04a556256a
|
|
Change-Id: I69b8b81d357553c979682d42097eba864c951512
|
|
The cool now takes the database as a hint and will not complain if the device
returns less data. The tool also supports user provided size and raw node numbers
that are not in the database (advanced usage).
Change-Id: I8cec536718d7eff01c7803bea648d6122b82377a
|
|
Change-Id: I1b5688ba7ad99c7a22ba4532c8237b4563e4a9e4
|
|
Change-Id: I0a139eb236f825368ae627fdbb2f75286f747f10
|
|
Don't use colors since the terminal doesn't support it. Also packing is broken
on MinGW so use #pragma pack when compiling for windows, this is also supported
by MSCV.
Change-Id: I635649d52ed5f2e0af46cb9ca2ec325955b2ddb2
|
|
We cannot auto-detect a device if we don't know its model ID, but we can't know
the model ID if we haven't decrypted the upgrade which requires the key. The only
way to solve this chicken-and-egg problem is to get the NVP table from kernel,
create an empty series in the database (no model ID), then get the key using
scsitool and forcing the model (using this commit), then decrypt the upgrade
and get the model ID list.
Change-Id: I8eced486a5f6a1a99028b25fdc4f87a3b11e31a8
|
|
Now that we have a nice database of player index, the scsitool becomes more
useful and supports a lot more players. I did some general cleanup of the code,
though eventually it would be nice to really split it into a library and a CLI.
The SCSI vendor command allow to read but also write most NVP nodes. Since there
seems to a demand to change destination and sound pressure settings on device,
I implement this feature in the tool. I do not plan to allow arbitrary NVP
writes because this could easily brick the device. Changing the destination
should be safe, but as usual, use at your own risks.
Change-Id: Iff4e8cc3ac97b965c1df849051c5fd373756cda5
|
|
There is a windows port of the sg_utils library for scsi pass-
through. This little changes make it compile under mingw. A better
fix would be to implement direct ioctl on both windows and linux
but that's already better than nothing
Change-Id: I0d77cd1bad69806a66f0590362f165f24fa240e9
|
|
Change-Id: I882956c0022db846882c68f8aac7f9d8fe49dfa8
|
|
Change-Id: Iaebb442611c64fe4d47a07ce3b3d12c3230cafe5
|
|
Change-Id: Iaa89df27b7a0c4eb9fc6603c431de3d1fe791fa1
|
|
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
|
|
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
|