aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/ipaccess/ipaccess-firmware.c
AgeCommit message (Collapse)AuthorFilesLines
2010-03-22ipa-firmware: Fix the write out of the firmware partsHolger Hans Peter Freyther1-1/+1
Use the start address inside the header entry, the start is relative to the surrounding SDP record which is located in our base offset, when writing it out also ignore four bytes of something (crc?).
2010-03-22ipa-firmware: Write the firmware parts to a fileHolger Hans Peter Freyther1-0/+1
The first non working version to dump the content of the sdp to the terminal..
2010-03-22ipa-firmware: Add the entry first and then seekHolger Hans Peter Freyther1-3/+4
The sub entry might not be a SDP file so it is best to add the read entry, add it to the list and then attempt to recursively parse this one.
2010-03-22ipa-firmware: Lift the requirement of having a table_offset of zeroHolger Hans Peter Freyther1-8/+4
Make the code work/skip the other table and find the entries at the given offset. This appears to work.
2010-03-22ipa-firmware: Remove the part_length from the struct sdp_firmwareHolger Hans Peter Freyther1-5/+20
* The length of the table is not at a fixed position. We will need to read the offset, seek there, read the data, convert it to the host endianes. * Prepare the code to work with offsets of 0...
2010-03-22ipa-firmware: Look at the table offsetHolger Hans Peter Freyther1-0/+7
* The two dummy bytes appear to be an offset, check that they are zero and refuse to work when they are not.
2010-03-22ipa-firmware: Remove dummy check...Holger Hans Peter Freyther1-3/+0
We have derefenced that way before and would have crashed already.
2010-03-22ipa-firmware: The more_more_magic is to indicate the payloadHolger Hans Peter Freyther1-4/+0
* Ignore the value of the field there is no sematnic change to the content of the file..
2010-02-20split 'libosmocore' from openbsc codebaseHarald Welte1-1/+1
This library is intended to collect all generic/common funcitionality of all Osmocom.org projects, including OpenBSC but also OsmocomBB The library currently includes the following modules: bitvec, comp128, gsm_utils, msgb, select, signal, statistics, talloc, timer, tlv_parse, linuxlist msgb allocation error debugging had to be temporarily disabled as it depends on 'debug.c' functionality which at the moment remains in OpenBSC
2009-12-30[ipaccess] Move firmware analysis into the ipaccess-config utilityHolger Hans Peter Freyther1-73/+3
* This turns ipaccess-firmware.c into a plain helper, fix the ipaccess name...
2009-12-30[ipaccess] Start using talloc in the firmware codeHolger Hans Peter Freyther1-7/+14
* We are not leaking anything... *yeah*, talloc rocks
2009-12-30[ipaccess] Change the name to be slightly better..Holger Hans Peter Freyther1-2/+2
2009-12-30[ipaccess] Expose the sub header list as well..Holger Hans Peter Freyther1-15/+25
2009-12-30[ipaccess] Turn firmware parsing into a routine so it can be usedHolger Hans Peter Freyther1-71/+39
* text3 seems to be a version as the text content starts with a 'v' * move the sdp_firmware into the ipaccess.h and declare the function. The headers are returned through a list.
2009-12-30[ipaccess] Add return values to the analyze_fileHolger Hans Peter Freyther1-12/+14
2009-12-30[ipaccess] There is only one second magic numberHolger Hans Peter Freyther1-36/+23
* The second magic number is only a short and it is the same for all of my cases * This also means that the first and second header are the same which means the unknown 8 byte are header and file size... and the 122 bytes are actually multiple strings (just all empty on the outermost SDP). Adding the strings left us with 120 bytes so we have two bytes of unknown usage.. * This is now capable of parsing outer and inner SDP files and print their header.
2009-12-30[ipaccess] Allow to parse the second magic2 as wellHolger Hans Peter Freyther1-10/+42
* The internal SDP appears to have a different magic number than the first entry and a slightly different packet format * There are 8 byte of binary for at the beginning and the header ends with a table pointing to some strings and then the actual firmware follows. * We currently only parse the strings of that header.
2009-12-30[ipaccess] Start the parser recursively...Holger Hans Peter Freyther1-7/+3
* Start parsing the sub SDPs with the same analyze method
2009-12-30[ipaccess] Read the " SDP" and version first and then the rest of the headerHolger Hans Peter Freyther1-7/+23
Read everything we need to determine the version first and then the rest. This will allow to be able to poke into the other SDP bits.
2009-12-30[ipaccess] The firmware format is recursive...Holger Hans Peter Freyther1-15/+30
The something3 points to the next start of the SDP entry. The four bytes in front of the " SDP" are not known and just discarded. Prepare to be able to recursively parse the SDP header...
2009-12-29[ipaccess] Start reading the header entryHolger Hans Peter Freyther1-1/+25
* Read the entry and print it out
2009-12-29[ipaccess] Start figuring out what the header entry is meaning..Holger Hans Peter Freyther1-2/+17
2009-12-29[ipaccess] Use the u_intX_t types in the firmware toolHolger Hans Peter Freyther1-3/+3
2009-12-29[ipaccess] Attempt to read the header entries..Holger Hans Peter Freyther1-0/+13
2009-12-29[ipaccess] Do not pick in the wrong headers...Holger Hans Peter Freyther1-10/+5
I must have picked in the wrong section of these files... There are some kind of header entries that are all 138 byte long and this is the total length...
2009-12-27[ipaccess] Verify the size part of the headerHolger Hans Peter Freyther1-0/+12
2009-12-24[ipaccess] Move ipaccess utilities into a dedicated subdirectoryHolger Hans Peter Freyther1-0/+101