While studying FS coding, I created the attached drawing. The code used for
de-interleaving is:
void tch_fr_deinterleave313(ubit_t *mC, int blockoffset) //see 3GPP TS
05.03 / 3.1.3
{
for (int k = 0; k < 456; k++) {
int B = ( k + blockoffset ) % 8;
int j = 2 * ((49 * k) % 57) + ((k % 8) / 4);
mC[k] = mI[B][j];
}
}
Now I want to study HS coding and de-interleaving. The GSM specs 05.03 /
3.2.3 only mentions a table for interleave coding and not a formula for
matching j with k. Why is that?
I tried to find a formula by looking a the table pattern, but it looks
quite inconsistent.
If there is no formula for coding/decoding HS, then do we have to use table
lookup for each bit? Sounds very inefficient. Or am I missing something?
B
Hi,
my problem is, that I can download the firmware on the motorola c123, but I
can't send a DOWNLOAD ACK.
The Firmware is on the Phone, because I see the "HELLO WORLD" example on the
phone screen.
I build my own "RS232-to-2.5mm"-Cable and I think it works....
Another thing is, at the end of the download I become permanently the INFO "
got 1 bytes ...".
Can anybody help me?
(Sorry my english is very sad :( )
Here is the output:
root@debian:./osmocon -p /dev/ttyS0 -d t -m c123xor
../../target/firmware/board/compal_e88/hello_world.compalram.bin
got 2 bytes from modem, data looks like: 06 c1 ..
got 5 bytes from modem, data looks like: 1b f6 02 00 41 ....A
got 1 bytes from modem, data looks like: 01 .
got 1 bytes from modem, data looks like: 40 @
Received PROMPT1 from phone, responding with CMD
read_file(../../target/firmware/board/compal_e88/hello_world.compalram.bin):
file_size=25108, hdr_len=4, dnload_len=25115
got 1 bytes from modem, data looks like: 1b .
got 1 bytes from modem, data looks like: f6 .
got 1 bytes from modem, data looks like: 02 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 41 A
got 1 bytes from modem, data looks like: 02 .
got 1 bytes from modem, data looks like: 43 C
Received PROMPT2 from phone, starting download
handle_write(): 4095 bytes (4095/25115)
handle_write(): 3840 bytes (7935/25115)
handle_write(): 3840 bytes (11775/25115)
handle_write(): 3840 bytes (15615/25115)
handle_write(): 3840 bytes (19455/25115)
handle_write(): 3840 bytes (23295/25115)
handle_write(): 1820 bytes (25115/25115)
handle_write(): finished
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: ff .
got 1 bytes from modem, data looks like: bf .
got 1 bytes from modem, data looks like: ff .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: ff .
got 1 bytes from modem, data looks like: ff .
got 1 bytes from modem, data looks like: ff .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: dc .
got 1 bytes from modem, data looks like: 98 .
got 1 bytes from modem, data looks like: 9f .
got 1 bytes from modem, data looks like: ff .
got 1 bytes from modem, data looks like: 9f .
.....
--
View this message in context: http://baseband-devel.722152.n3.nabble.com/C123-can-t-send-DOWNLOAD-ACK-tp4…
Sent from the baseband-devel mailing list archive at Nabble.com.
Can you please clarify what kind of preprocessing has been done for bursts
in burst_ind data?
Does TCH/F data come through with block-diagonal de-interleaved? Or does
come as 8 interleaved bursts?
I think all the intra-burst de-interleaving has already been done at DSP
level. Is this correct?
B
Hi Everyone,
When i tried to install the osmocombb for the first time which was a couple of days back i encountered with a problem and did some minor modification in the code.
>gsm411_sms.c: In function ‘gsm411_tx_sms_submit’:>gsm411_sms.c:657: warning: passing argument 4 of ‘gsm411_smc_init’ from incompatible pointer type>/usr/local/include/osmocom/gsm/gsm0411_smc.h:46: note: expected ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *, int)’ but argument is of type ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *)’>gsm411_sms.c:657: error: too many arguments to function ‘gsm411_smc_init’>gsm411_sms.c:659: error: too many arguments to function ‘gsm411_smr_init’>gsm411_sms.c: In function ‘gsm411_rcv_sms’:>gsm411_sms.c:911: warning: passing argument 4 of ‘gsm411_smc_init’ from incompatible pointer type>/usr/local/include/osmocom/gsm/gsm0411_smc.h:46: note: expected ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *, int)’ but argument is of type ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *)’
by seeing this error i opened the respective file(gsm411_sms.c) in my local pc and i observed that the lines which was mentioned as error and find the below .
gsm411_smc_init(&trans->sms.smc_inst, transaction_id, 0, gsm411_mn_recv, gsm411_mm_send);
but in the header file (gsm0411_smc.h) only four arguments are defined
void gsm411_smc_init(struct gsm411_smc_inst *inst, int network, int (*mn_recv) (struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg),
so i removed the extra argument transaction_id in the function(gsm411_smc_init) and also did the same with the respective lines where i was getting an error (from the file gsm411_sms.c).
i have done a change like the below by assuming thatevery msg is a mobile originated mesage
gsm411_smc_init(&trans->sms.smc_inst, transaction_id, 0, gsm411_mn_recv, gsm411_mm_send);
Kindly assist me if i was doing wrong.
Thanks in advance and Apologies if my observation was wrong.
Regards,Bharath
Hi Everyone,
When i tried to install the osmocombb for the first time which was a couple of days back i encountered with a problem and did some minor modification in the code.
>gsm411_sms.c: In function ‘gsm411_tx_sms_submit’:
>gsm411_sms.c:657: warning: passing argument 4 of ‘gsm411_smc_init’ from incompatible pointer type
>/usr/local/include/osmocom/gsm/gsm0411_smc.h:46: note: expected ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *, int)’ but argument is of type ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *)’
>gsm411_sms.c:657: error: too many arguments to function ‘gsm411_smc_init’
>gsm411_sms.c:659: error: too many arguments to function ‘gsm411_smr_init’
>gsm411_sms.c: In function ‘gsm411_rcv_sms’:
>gsm411_sms.c:911: warning: passing argument 4 of ‘gsm411_smc_init’ from incompatible pointer type
>/usr/local/include/osmocom/gsm/gsm0411_smc.h:46: note: expected ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *, int)’ but argument is of type ‘int (*)(struct gsm411_smc_inst *, int, struct msgb *)’
by seeing this error i opened the respective file(gsm411_sms.c) in my local pc and i observed that the lines which was mentioned as error and find the below .
gsm411_smc_init(&trans->sms.smc_inst, transaction_id, 0,
gsm411_mn_recv, gsm411_mm_send);
but in the header file (gsm0411_smc.h) only four arguments are defined
void gsm411_smc_init(struct gsm411_smc_inst *inst, int network,
int (*mn_recv) (struct gsm411_smc_inst *inst, int msg_type,
struct msgb *msg),
so i removed the extra argument transaction_id in the function(gsm411_smc_init) and also did the same with the respective lines where i was getting an error (from the file gsm411_sms.c).
i have done a change like the below by assuming thatevery msg is a mobile originated mesage
gsm411_smc_init(&trans->sms.smc_inst, transaction_id, 0,
gsm411_mn_recv, gsm411_mm_send);
Kindly assist me if i was doing wrong.
Thanks in advance and Apologies if my observation was wrong.
Regards,
Bharath
I tried to dump some parts of memory using osmoload. Here is my problem,
When I tried to dump from 0x0, there is a piece of memory filled up with
"f". I guess maybe it's ROM and when I call the memcpy in RAM, I actually
cannot read things in ROM. Can anyone confirm my guess?
Then I found there is a memory protection unit (ti-calypso2.pdf). Then I
dumped the values from FFFF FF00 (registers of MPU), I got all zeros... Does
this mean there is no memory protection active?
Or maybe because actually the phone is not turned on. So there would be some
flash which don't have electricity on...
Anyone can help me?
Thank you in advance.
--
View this message in context: http://baseband-devel.722152.n3.nabble.com/Problems-about-analysis-of-conte…
Sent from the baseband-devel mailing list archive at Nabble.com.