|Life| 三年半工作見聞小筆記

做事一定要細心細心細心!!!

大公司最重要的優點就是:給你犯錯的機會。
就算有錯,因為規範完整,也很難會是大錯。
以及良好的學習資源!
大公司的缺點:由於可能需要趕案子,大家負責範圍很小,常常有人踢皮球。

代工廠優點:人力資源真的是資源,不會浪費呢~
代工廠缺點:什麼芝麻蒜皮小事都要問客戶,自主權少。能學的也少。
(因為主要產品設計不在你,你只要負責基本功能與工廠)

(消費性電子產品)
品牌廠優點:能夠真的感受到消費者的焦慮,哈哈。
品牌廠缺點:暫時想不到(我能想到的比較是特定公司的缺點,跟品牌無關)

我覺得我有進步的地方:
大膽發問!
了解整個產品的進度規劃!
不正確的東西就是要告知對方!

我待進步的地方:
對整個產品怎麼兜還沒很清楚。
有時候會因為人家想要工具就做,沒細問目的。

還要注意的地方?講電話的語氣吧。
遇到亂猜問題的人就火氣上來,請人幫忙就尊重我的看法,可以嗎?

做 Wireless 優點:有機會出差,我覺得網路行為很有趣。
做 Wireless 缺點:Debug 不容易,會跟當地行為有關!

其他:
好的 Log 可以幫助大家早下班。
幫助人家就要完善,以免最後的瑕疵害到人,反而留下不好印象。
當個好人!

結論:
遇到願意教的人是幸運。
我覺得還是有自己的產品的公司比較有榮譽感!
建議還是遠離代工廠。( by 2019 )

自從加入過一直秀下限的公司後,
我認為,公司本身的型態不應該是挑的首選,
(公司能為我鍍多少金)
應該專注於如何做產品、技術和團隊本身,次之是文化。

下一步要思考的是:如何為公司帶來好處?(edited in 2020.08)

|3GPP| 網路架構學習好用網站

以往只看 call flow,感覺很不足夠。
最近開始讀 LTE 跟 IMS 架構,發現幾個實用的網站。


如果不懂 LTE 可以先從這個網站開始看起
https://www.tutorialspoint.com/lte/lte_protocol_stack_layers.htm

一些名詞解釋,主要是要看懂:
UE、eNE、EMM、HSS、S-GW、P-GW 間的關係
https://zh.wikipedia.org/wiki/系统架构演进

這文章好新,感覺是同業的?
https://note-on-clouds.blogspot.com/

開機後 attach 的流程
https://note-on-clouds.blogspot.com/2015/12/lte-initial-access.html?m=1

IMS 架構
http://pollexpm.blogspot.com/2017/02/ims.html

新通訊 – 結合IMS與LTE MMTEL標準實現多元通訊服務
(哇 這篇我才剛大學畢業 到現在也 10年了 不知道手機還能吃多久)
https://www.2cm.com.tw/2cm/zh-tw/magazine/-Technology/3CE6FD1C7C62462D9E56B3F46B4A88C2

VoLTE IMS Network Architecture tutorial (YOUTUBE)
https://www.youtube.com/watch?v=JTJcJ5zc8Mg

IMS, IP Multimedia Subsystem Tutorial
https://www.radio-electronics.com/info/telecommunications_networks/ims-ip-multimedia-subsystem/tutorial-basics.php

中國的朋友介紹 5G
https://blog.csdn.net/jxwxg/article/details/79090480

|RIL| Data Connection Flow

觀念:

  1. 啟動數據服務前,要先設定 APN。APN 在上層有一份,在 modem 也有一份
  2. 是可以只用 modem 裡的那份 APN (嵌入式平台)
  3. Android 是由上層帶 APN 給 modem 的
  4. 上層主要是看 bringUp & RIL 的 setupDataCall

 

以下只講部分關鍵點。

 

# load 上層的 db:TelephonyProvider.java

  loadApns()

# TelephonyManager:使用者點開數據上網的 Icon
  public void setDataEnabled(boolean enable) {
   setDataEnabled(getDefaultDataSubscriptionId(), enable);

# DcAsyncChannel:填入 APN, 準備往下帶
    public void bringUp(ApnContext apnContext, int profileId, int rilRadioTechnology,
                        boolean unmeteredUseOnly, Message onCompletedMsg,
                        int connectionGeneration) {
        mLastConnectionParams = new ConnectionParams(apnContext, profileId, rilRadioTechnology,
                unmeteredUseOnly, onCompletedMsg, connectionGeneration);
        sendMessage(DataConnection.EVENT_CONNECT, mLastConnectionParams);

# DataConnection:StateMachine 收到要建立連線啦!
 public boolean processMessage(Message msg) {
  …
   case EVENT_CONNECT:
    if (DBG) log(“DcInactiveState: mag.what=EVENT_CONNECT”);
     ConnectionParams cp = (ConnectionParams) msg.obj;
     if (initConnection(cp)) {
      onConnect(mConnectionParams);

# RIL:終於送到 RIL了,要往 Modem 前進啦!

 mPhone.mCi.setupDataCall(cp.mRilRat, dp, isModemRoaming, allowRoaming, msg);

 

Ref. https://blog.csdn.net/u012439416/article/details/75263645

|Jobs| LTE 是如何拿到位置和時間的?

先介紹一個詞:System Information Block

LTE 的系統資訊,會廣播到手機端,其中,

SIB16: GPS Related Informatin,

    包含位置及世界標準時間 (Coordinated Universal Time, UTC) 資訊

 

所以手機時間的來源有:

LTE 網路、NTP Server、或是電信商可能會支援 NITZ

延伸:

NTP (Network Time Protocol) Server?

NITZ (Network Identity and Time Zone)?

|NEWS| What is Rich Communications Services (RCS) ?

有錢的通訊服務,提升之後更能從使用者身上刮錢提高使用手機服務的品質。

主要提升三項手機的基本服務:簡訊、電話簿、通話品質。

是說這年代誰還在用手機講電話?

RCS 簡訊,可以直接傳送圖片影音,甚至是完成購物的流程,這樣難道不夠噱錢嗎?

這行為是不是讓我們很熟悉?LINE!!! 最近還開通了轉帳服務呢!

也就是說,到時候可能這些 APP 會跟 RCS 正面衝突呢?

不過,RCS 最重要還是依賴電信商 (Mobile Network Operator,MNO) 支援與否 (因為需要 IMS core system),所以這一天還有一段時間。(軟體服務這邊,Android Framework 這邊看來是提供支援了,那對於手機設備應該難度就大幅降低了)

YouTube:6 0:54 / 1:15 Android Messages: The messaging app built for Android

也許可以整合:SMS (Short Message Service,簡訊服務) 及 MMS (Multimedia Messaging Service,多媒體簡訊)?

BTW. 也就是說,現在在台灣,如果看到手機上有 RCS 可以先關掉或停用 (反正台灣用不了),以免耗電。可以自己打 keywords 問辜狗我在說什麼 XD

 

ref.

GSMA:rcs-documentation

Google’s support for RCS

新一代RCS多媒體簡訊更普及了,Google公布43家支援業者清單,只發簡訊就內嵌購物按鈕!

Wiki – RCS

Google開始部署RCS,Android傳訊服務升級至多媒體 (2016)