summaryrefslogtreecommitdiffstats
path: root/com-on-air_cs-linux/sc14421_sniffer.c
diff options
context:
space:
mode:
authorkrater <krater@8d8ab74c-27aa-4a3d-9bde-523a2bc1f624>2009-01-21 19:51:11 +0000
committerkrater <krater@8d8ab74c-27aa-4a3d-9bde-523a2bc1f624>2009-01-21 19:51:11 +0000
commitb76bc40fbcb599b5d20cdb2c6770ff639497704f (patch)
treea53e0faa0eae4d470f526eb5ce32e83f84a28c8d /com-on-air_cs-linux/sc14421_sniffer.c
parentc975f69aa4d3134f4d125d9592203db683fd1fcd (diff)
descrambling bug fixed
git-svn-id: https://dedected.org/svn/trunk@44 8d8ab74c-27aa-4a3d-9bde-523a2bc1f624
Diffstat (limited to 'com-on-air_cs-linux/sc14421_sniffer.c')
-rw-r--r--com-on-air_cs-linux/sc14421_sniffer.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/com-on-air_cs-linux/sc14421_sniffer.c b/com-on-air_cs-linux/sc14421_sniffer.c
index f57e1b1..d325916 100644
--- a/com-on-air_cs-linux/sc14421_sniffer.c
+++ b/com-on-air_cs-linux/sc14421_sniffer.c
@@ -523,6 +523,7 @@ void sniffer_sniff_sync_irq(struct coa_info *dev, int irq)
packet.channel =
config->slottable[a].channel;
packet.slot = a;
+ packet.framenumber = config->framenumber;
memcpy(
packet.data,
fppacket,
@@ -620,6 +621,7 @@ void sniffer_sniff_sync_irq(struct coa_info *dev, int irq)
/* FIXME DECT6.0 channels */
packet.channel = config->slottable[a].channel;
packet.slot = a;
+ packet.framenumber = config->framenumber;
memcpy(packet.data, pppacket, 5);
from_dip(&packet.data[5], sc14421_base+memofs+6, 48);
if (config->slottable[a].type == DECT_SLOTTYPE_SCAN)
@@ -764,8 +766,13 @@ void sniffer_sync_patchloop(struct coa_info *dev, struct dect_slot_info *slottab
}
else if (slottable[slot].active && (slottable[slot].type == DECT_SLOTTYPE_CARRIER))
{
+ if ( (slot/2) % 2)
+ memofs = 0x80;
+ else
+ memofs = 0x00;
+
SC14421_switch_to_bank(sc14421_base, sync_banktable[slot]);
- SC14421_WRITE(0x5e, config->framenumber%8);
+ SC14421_WRITE(0x5e + memofs, config->framenumber%8);
}
}
}