Osmocom-BB 相关资源、知识分享

时间:2021-11-16 16:03:49

1、在layer1层添加了解析sniffer的代码

参考http://git.osmocom.org/osmocom-bb/log/?h=luca/gsmmap)osmocom-bb/src/target/firmware/layer1/prim_sniff.c

2、关于改不改滤波器的一点个人见解(没找理论支持的,纯属yy)

在原装手机情况下,不改滤波器是也能够收到uplink的数据;

对于为什么要修改滤波器,估计原因是:因为gsm 通信上行和下行频率相差几十M的频率,估计修改了滤波器后就能通过更宽的频率.

修改滤波器后,很多手机信号是很不好的.测试没改的手机,都是60db左右,改了后,很多都变为90db 100db了~

对于tdma对时序要求很严格,导致很多改了后的机器软件各种不稳定也不奇怪;

RF的器件,大部分人都是按照网上那几个电容溶值进行修改的,其实那两个电容容值是国外作者在修改的时候用的值而已,不同的硬件,应该使用不同的电容~电容差别一点点,可能信号差别很大...这个估计需要一个懂rf电路的哥们实际测试,才能弄出一个改了以后信号蛮好的手机玩玩;

3、代码学习

http://blog.mohism.org/technology/2012/09/15/osmocombb-code-view-1.html

http://blog.mohism.org/technology/2012/09/16/osmocombb-code-view-2.html

这两篇文章对于代码到调制相关的框架流程都解析了,仔细对照代码里面.

4、理论与其它分享

4.1 理论

帧的结构,代码都是围绕这个流程来跑的

Osmocom-BB 相关资源、知识分享

下面两个文章都讲解的比较清楚

http://www.sharetechnote.com/html/FrameStructure_GSM.html

http://www.pitt.edu/~dtipper/2720/2720_Slides8.pdf

4.2 时隙问题

由于origin/luca/gsmmap 这个分支只是一个demo类型的软件,它只对ts0做了处理;

所以很多人反映根本收不到自己在同一个频点发的sms;

下面的连接讨论了这个多TS的问题;

http://baseband-devel.722152.n3.nabble.com/Working-of-ccch-scan-and-capturing-the-SDCCH-td4025206.html

https://www.facebook.com/rootpid001/posts/552211568160704

gprs多时隙代码补丁参考.

wget http://srlabs.de/dl/gprs_multi.patch

可以支持4个ts的补丁,因为是针对gprs的,需要参考代码,自己修改;我按照代码部分进行了修改测试,发确实可以收到多个时隙的sms,但是可能由于dsp处理能力的问题,和代码没有做相关优化,系统基本没法使用,经常挂;

主要原因在于,Frame 是以中断的方式触发的,tdma对时序要求比较高,处理了多个ts的时候会占用太多cpu的资源,而且osmocombb里面对于数据处理也没做很好的优化,导致第一个frame还没处理完成,第二个frame中断又触发了frame的处理,多次积累后,有些资源没做clean然后数据都解析不了了,然后系统就挂了.

有很多通过修改了默认ts0 为ts2 ts4 ts6的办法.采用4个手机可以抓一个频点的50%(ts 1 3 5 7 这几个好像dsm patch里面也没处理,但是看讨论好像也能抓.宅在研究过程中......)的sms数据...