Osmocom-BB 相关资源、知识分享
1、在layer1层添加了解析sniffer的代码
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 理论
帧的结构,代码都是围绕这个流程来跑的
下面两个文章都讲解的比较清楚
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的问题;
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数据...