Yocto is a tool box which you can use to build your own Linux distribution. It is a famous for IoT. If your job is related with embedded system, you should know this project.
This article will introduce how to setup a module for ourself.
Wireless
|Jobs| How can operators detect tethering?
出國玩,買 SIM卡 一定要注意,這張卡是否能夠當作 WiFi hotspot 分享給別人,
有的卡是不行的哦!!
在某次出差 (2017),我發現,電信業者是有能力知道這張 SIM卡是否有能力 WiFi hotspot,並且禁止這張卡做分享。
我一直以為是 framework 的行為(軟體端去擋),但是我做了一些實驗,發現電信商是可以控制的。(最近的新案子也有談到類似的東西)
表示在卡號之外,你這張卡是否有分享給別人,或者,
別支手機是否透過分享上網的,這兩個一定有其中一個資訊會被電信商知道。
稍微上網查了一下,電信商可以偵測到以下資訊,推斷出
你是否正在分享給別人/你是否是透過不能分享的網路上網:
How can phone companies detect tethering (incl. Wifi hotspot)
- Your phone tells your network that you are tethering
- Inspecting the network packets for their TTL (time to live)
- MAC address inspection
- TCP/IP Stack Fingerprinting
- Looking at the Destination IP/URL
(補充)
電信商可以利用Tether Guard的機制來得知。基本上,你要用APN:dun建立連線才能 tethering給別人,
如果成功,表示電信商允許你分享!
特別是去英國或美國,要查一下你的卡哦!
Tethering on UK Networks: Which Mobile Networks Allow You To Tether?
|Jobs| 無線通訊裡的 NAS 是什麼 ?
之前工作主要是負責 NAS 相關的事項。
不過講 NAS 大家應該都會以為是儲存裝置。無線通訊裡面的 NAS 是 Non-Access Stratum 的縮寫,中文稱為:非接入層。
以下為 3GPP 網站寫的定義:
The Non-Access Stratum is a set of protocols in the Evolved Packet System. The NAS is used to convey non-radio signalling between the User Equipment (UE) and the Mobility Management Entity (MME) for an LTE/E-UTRAN access.
WIKI 的定義:
Non-access stratum (NAS) is a functional layer in the UMTS and LTE wireless telecom protocol stacks between the core network and user equipment.
NAS 的功能最主要是:控制 UE 對外的資源。所以出現的時刻會是在:Control plane(簡單理解就是:一開始要跟網路申請資源的流程)!
細項包含:封包系統承載(EPS Bearer)管理、身分認證、手機閒置模式(ECM-IDLE)移動性功能處理、手機閒置模式的呼叫起始功能、安全控制……。
一步步用簡單的語言理解:
- 一開機的時候,UE 會做掃網、選網及配置網路的工作。這些事是預備要讓你的裝置"接入到網路",例如:random access
BTW. 接入層:RNC (Radio Network Controller:3G 基地台控制器,負責通話處理、網路管理等機制)、NodeB (3G 基地台) 需要參與處理的就是接入層。 - 當接入層處理完成、把橋搭好後,接下來就是非接入層的事。
RRC Connection Setup complete ( NAS Attach request) 流程會完成:
EPS Bearer、身分認證、安全控制……。
而 MM (Mobile Management)、CC (Call Control)、SMS (Short Message Service) 均為非接入層的業務。 - 再濃縮來講:接入層是比較靠基地台的行為/平常使用的連線資源(data plane),非接入層比較靠使用者服務的端/一開始配給資源和入網的事(control plane)。
08/06/2020 修改.
(以上,如有理解錯誤,歡迎指正)
以 3GPP 來說,如果要理解 NAS,就要看懂 RRC 和 EMM 相關的 Spec 囉!
至於如果你在工作內容(JD)看到 NAS,基本上,凡事 Framework 要跟 Modem 溝通,牽涉到網路狀態相關行為的都要管啦~
Ref.
3GPP: http://www.3gpp.org/more/96-nas
WIKI: https://en.wikipedia.org/wiki/Non-access_stratum
博客: https://blog.csdn.net/starperfection/article/details/78737741
|Design| RPC (Remote Procedure Call)
RPC 是 IPC中的一種,講完 XD
RPC 的目的就是可以讓程式不用擔心方法具體是在哪個程序裡面或者哪台機器上。
所以以前可以在 AP端 QMI 用爽爽的。
Ref.
https://developer.android.com/guide/components/processes-and-threads
https://www.itread01.com/p/1362618.html
|RIL| 建了 data 之後 ……
有了 APN,Modem 建了 data 之後會發生什麼事呢?
會長出網卡 ~~
可以使用 ifconfig 查看
別忘了設定 default route
route add default gw {IP-ADDRESS} {INTERFACE-NAME}
以及 DNS,才能用網域找到 ip
sudo echo nameserver 8.8.8.8 > /etc/resolv.conf