ν΄λμ€ C λ©μμ§λ κ°κ²©μ΄ μ’μ λ "μμ© νλ‘κ·Έλ¨ λ€μ΄λ§ν¬μ μλͺ»λ μ λ μκ° μ€μ "κ³Ό ν¨κ» κ°νμ μΌλ‘ μμ½μ μ€ν¨ν©λλ€.
λμΌν μ₯μΉλ‘ 보λ΄λ λ©μμ§ μ¬μ΄μ μ΅μ μκ°μ΄ μμ΅λκΉ? μ΄μμ μΌλ‘λ 130ms κ°κ²©μΌλ‘ μΌμ μ μ‘μμ§λ§ λ¬Έμ λ₯Ό μννκΈ° μν΄ κ°κ²©μ 1000msλ‘ λλ¦¬λ €κ³ νμ΅λλ€.
μ°λ¦¬λ μ΄κ²μ λλ΅ 15κ°μ λ€μ°λ§ν¬λ§λ€ λ΄ λλ€.
17/11/2020 14:09:30.783 +1300 Sending TTN V3 multicast. topic: v3/halter/devices/2704aee7-7c77-4c99-8d26-cf110b1a90a7/down/push. Payload: {"downlinks":[{"f_port":1,"frm_payload":"ChQKEgoQEg4IAxIFDbQiy10YASDjAQ==","priority":"ABOVE_NORMAL","class_b_c":{"absolute_time":"2020-11-17T01:09:37.000Z","gateways":[{"gateway_ids":{"gateway_id":"eui-00800000a0003582"}}]}}]}
17/11/2020 14:09:30.883 +1300 Sending TTN V3 multicast. topic: v3/halter/devices/2704aee7-7c77-4c99-8d26-cf110b1a90a7/down/push. Payload: {"downlinks":[{"f_port":1,"frm_payload":"ChQKEgoQEg4IAxIFDbQiy10YASDjAQ==","priority":"ABOVE_NORMAL","class_b_c":{"absolute_time":"2020-11-17T01:09:38.000Z","gateways":[{"gateway_ids":{"gateway_id":"eui-00800000a0005314"}}]}}]}
17/11/2020 14:09:37.068 +1300 Serial 2704aee7-7c77-4c99-8d26-cf110b1a90a7: Receiving DownlinkFailed. Payload: {"end_device_ids":{"device_id":"2704aee7-7c77-4c99-8d26-cf110b1a90a7","application_ids":{"application_id":"halter"},"dev_addr":"01415A3E"},"correlation_ids":["as:downlink:01EQ9VZT44AARKQ3V190WBSXZA","as:up:01EQ9W005A64G2W1Y3GQA9S3SR"],"received_at":"2020-11-17T01:09:37.066774351Z","downlink_failed":{"downlink":{"f_port":1,"f_cnt":56,"frm_payload":"ChQKEgoQEg4IAxIFDbQiy10YASDjAQ==","class_b_c":{"gateways":[{"gateway_ids":{"gateway_id":"eui-00800000a0005314"}}],"absolute_time":"2020-11-17T01:09:38Z"},"priority":"ABOVE_NORMAL","correlation_ids":["as:downlink:01EQ9VZT44AARKQ3V190WBSXZA"]},"error":{"namespace":"pkg/networkserver","name":"absolute_time","message_format":"invalid absolute time set in application downlink","code":3}}}
17/11/2020 14:09:37.068 +1300 Serial 2704aee7-7c77-4c99-8d26-cf110b1a90a7: Receiving DownlinkFailed. Payload: {"end_device_ids":{"device_id":"2704aee7-7c77-4c99-8d26-cf110b1a90a7","application_ids":{"application_id":"halter"},"dev_addr":"01415A3E"},"correlation_ids":["as:downlink:01EQ9VZT44AARKQ3V190WBSXZA","as:up:01EQ9W005A64G2W1Y3GQA9S3SR"],"received_at":"2020-11-17T01:09:37.066774351Z","downlink_failed":{"downlink":{"f_port":1,"f_cnt":56,"frm_payload":"ChQKEgoQEg4IAxIFDbQiy10YASDjAQ==","class_b_c":{"gateways":[{"gateway_ids":{"gateway_id":"eui-00800000a0005314"}}],"absolute_time":"2020-11-17T01:09:38Z"},"priority":"ABOVE_NORMAL","correlation_ids":["as:downlink:01EQ9VZT44AARKQ3V190WBSXZA"]},"error":{"namespace":"pkg/networkserver","name":"absolute_time","message_format":"invalid absolute time set in application downlink","code":3}}}
κ²μ΄νΈμ¨μ΄μμ λ°μνλ λ€μ΄λ§ν¬ μ€ν¨ λ° λ©μμ§ μμ
LoRaWANμ© μ¬λ¬Ό μ€ν: ttn-lw-stack
λ²μ : 3.9.4
λΉλ λ μ§: 2020-09-23T09:56:19Z
Git 컀λ°: c4be55c
μ΄λ λ²μ : go1.15.2
OS/μμΉ: linux/amd64
μλͺ»λ μ λ μκ°μ μμΈμ νμΈνκ³ λ²κ·Έκ° μλ κ²½μ° ν΄κ²°
κ°λ° νκ²½μμ PRμ ν μ€νΈνκ² λμ΄ κΈ°μ©λλ€.
@rvolosatovs ?
@virtualguy μ΄ λ¬Έμ κ° μ§μλ©λκΉ?
λ°μ΄ν° μλλ μΌλ§μ΄λ©° μ΄λ μ§μμ μμ΅λκΉ?
130ms κ°κ²©μΌλ‘ μ μ‘νκ³ μΆλ€κ³ ν λ λ°©μ‘ μκ°μ κ³ λ €νκ³ μμ΅λκΉ?
$ ttn-lw-cli events ...
λ₯Ό ν΅ν΄ κ²μ΄νΈμ¨μ΄ λ° μ΅μ’
μ₯μΉ μ΄λ²€νΈλ₯Ό ꡬλ
νκ³ κ²μ΄νΈμ¨μ΄ μλ²κ° μ€μΌμ€λ§ μ€ν¨ μ΄μ μ λν΄ λ³΄κ³ νλ μ νν μ€λ₯ λ©μμ§λ₯Ό λΆμ¬λ£μ μ μμ΅λκΉ?
@virtualguy λͺ κ°μ§ μΆκ° λλ²κ·Έ λΌμΈμ μΆκ°νμ΅λλ€. λ€μ μ€ νλλ₯Ό μ ννμμμ€.
v3.10.7
)#3487
μΆλ ₯μ grepνκ³ μ¬κΈ°μ 볡μ¬νμμμ€. λν stdout
λ‘ μ΄λνλ μ μΌν μΆλ ₯μ΄κΈ°λ ν©λλ€(λ‘κ·Έκ° stderr
).
ScheduleAt
μ RTTκ° λ무 μ λ€κ³ νμλλ©΄ TTN_LW_EXP_RTT_TTL
λ₯Ό λ릴 μ μμ΅λλ€(μ 6h
6μκ°, κΈ°λ³Έκ°μ 30m
30λΆ λμ) λ°/λλ TTN_LW_EXP_SCHEDULE_MIN_RTT_COUNT
λ₯Ό 3 λλ κ·Έ μ΄μμΌλ‘ μ€μ
λλ€(κΈ°λ³Έκ°μ 5). μ΄κ²μ μμ κΈ°λ₯ νλκ·Έμ
λλ€.
cc @ymgupta
μ°Έκ³ λ‘ @johanstokking ν¨μΉμμ λ‘κ·Έλ₯Ό μμ§νκΈ° μ μ #3736μμ λΉλν λ°μ΄λ리 μ€νμ λ¬Έμ κ° μμ΅λλ€.
@virtualguy @johanstokking λ€μμ ν¨μΉλ λ²μ μ μ€νν μΌλΆ λ‘κ·Έμ λλ€. https://gist.github.com/kurtmc/75f4ecf93c2f7a1ee8373d3a9c7f181a
μ λ§ κ°μ¬ν©λλ€. λ΅λ³μ΄ λ¦μ΄μ§ μ μ¬κ³Όλ립λλ€.
μ΄κ²μ λ§€μ° λμμ΄ λ κ²μ λλ€. κ·Όλ³Έ μμΈμ μ°ΎκΈ° μν΄ λͺ κ°μ§ λ‘κ·Έ νλͺ©μ μΆκ°νμ΅λλ€.
https://github.com/TheThingsNetwork/lorawan-stack/tree/investigate/3487-abs-downlink-timingμ μ¬μ©νμ¬ μ λΉλλ‘ μ΄κ²μ λ€μ μ€νν μ μμ΅λκΉ
v3.10.xμμ 체리λ₯Ό μ ννλ €λ©΄ 50f56055ba2c0172c002784d0ef22f140b60903c λ° d1e5305d2363aa8ce8dc485b36c9977857da6bλ₯Ό μ ννμμμ€.
λν μΆλ ₯μ μν΄μλ μ²μλΆν° μ 체 μΆμ μ΄ νμν©λλ€.
μ΄μ κ²μ΄νΈμ¨μ΄ ID(λλ EUI)λ₯Ό μΈμνκ³ μμ΅λλ€. λ―Όκ°ν μ 보λΌλ©΄ μλ―Έ μλ λ€λ₯Έ κ°μΌλ‘ μμ νκ±°λ μ΄λ©μΌλ‘ λ‘κ·Έλ₯Ό 보λ΄μ£ΌμΈμ.
@kurtmc @virtualguy μ΄ μ€μ μ μ΄λ»κ² λμΈ μ μλμ§ μλ €μ£ΌμΈμ. Docker μ΄λ―Έμ§μ λ°μ΄λ리λ₯Ό 보λ΄μΌ νλ κ²½μ° μλ €μ£Όμμμ€.
@johanstokking μ λ°μ΄νΈλ λ‘κ·Έ: https://gist.github.com/kurtmc/041dd593d24fd9f01784e56ec1deb325
@kurtmc κ°μ¬ν©λλ€. μ¬κΈ°μ λνλλ "μ λ μκ° μμ" μ€λ₯λ μ²μμλ§ λνλμ§λ§ μ μμ λλ€. μ¬κΈ°μμ λͺ¨λ κ²μ΄ μμλλ‘ μλνμ΅λλ€. λ§μ΅λκΉ?
@adriansmares λ https://github.com/TheThingsNetwork/lorawan-stack/pull/3794 μ λκΈ°νκ° μμ λ κ²½μμ΄ μ€μ λ‘ μΌμ΄λκ³ μμ΅λλ€. κ·Έλμ κ·Έκ²μ΄ μ§μ§μ λλ€. λ€μμ μ°Έμ‘°νμμμ€.
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 1 ScheduleAt: median is 30.900256ms"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 1 ScheduleAt: median is 30.900256ms"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 1 ScheduleAt: relative time downlink"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 1 ScheduleAt: relative time downlink"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 1 ScheduleAt: scheduled"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 1 ScheduleAt: scheduled"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 Record: 30.629582ms at 2021-02-14 21:58:36.014795727 +0000 UTC m=+86.734546258"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 Stats: sorted items: [{30446978 {13835767378842655859 75767631763 0x3a7a1c0}} {30504816 {13835767372765423622 70132850448 0x3a7a1c0}} {30639590 {13835767387106897922 83515681039 0x3a7a1c0}} {30830194 {13835767336362635015 36237283864 0x3a7a1c0}} {30834436 {13835767341445058316 40950998050 0x3a7a1c0}} {30835582 {13835767336764530097 36639178949 0x3a7a1c0}} {30842181 {13835767341958726238 41464666012 0x3a7a1c0}} {30845267 {13835767320071738555 21052514770 0x3a7a1c0}} {30847416 {13835767323811969378 24571520108 0x3a7a1c0}} {30889585 {13835767369324628633 66913280952 0x3a7a1c0}} {30910927 {13835767324288677194 24974486184 0x3a7a1c0}} {30943729 {13835767344594801745 43879516001 0x3a7a1c0}} {30952793 {13835767349113727476 48103474433 0x3a7a1c0}} {30963569 {13835767326445257112 26983582371 0x3a7a1c0}} {30993783 {13835767329486798315 29803898110 0x3a7a1c0}} {31018584 {13835767328128331563 28592914998 0x3a7a1c0}} {31045641 {13835767318515021603 19643281462 0x3a7a1c0}} {31073394 {13835767334606151403 34628283902 0x3a7a1c0}} {31090774 {13835767382891657128 79595407630 0x3a7a1c0}} {31249183 {13835767338921164328 38648329532 0x3a7a1c0}}]"
"1613339916024","15/02/2021 10:58:36.024 +1300","stack_1 | #3487 Stats: sorted items: [{30446978 {13835767378842655859 75767631763 0x3a7a1c0}} {30504816 {13835767372765423622 70132850448 0x3a7a1c0}} {30639590 {13835767387106897922 83515681039 0x3a7a1c0}} {30830194 {13835767336362635015 36237283864 0x3a7a1c0}} {30834436 {13835767341445058316 40950998050 0x3a7a1c0}} {30835582 {13835767336764530097 36639178949 0x3a7a1c0}} {30842181 {13835767341958726238 41464666012 0x3a7a1c0}} {30845267 {13835767320071738555 21052514770 0x3a7a1c0}} {30847416 {13835767323811969378 24571520108 0x3a7a1c0}} {30889585 {13835767369324628633 66913280952 0x3a7a1c0}} {30910927 {13835767324288677194 24974486184 0x3a7a1c0}} {30943729 {13835767344594801745 43879516001 0x3a7a1c0}} {30952793 {13835767349113727476 48103474433 0x3a7a1c0}} {30963569 {13835767326445257112 26983582371 0x3a7a1c0}} {30993783 {13835767329486798315 29803898110 0x3a7a1c0}} {31018584 {13835767328128331563 28592914998 0x3a7a1c0}} {31045641 {13835767318515021603 19643281462 0x3a7a1c0}} {31073394 {13835767334606151403 34628283902 0x3a7a1c0}} {31090774 {13835767382891657128 79595407630 0x3a7a1c0}} {31249183 {13835767338921164328 38648329532 0x3a7a1c0}}]"
μ΄λ¬ν λͺ λ Ήλ¬Έμ κΈ°λ³Έ νλ¬μ±μΌλ‘ μΈν΄ μμκ° λ§μ§ μμ΅λλ€. 짧μ λ¬Έμ₯μ μ¦μ νλ¬μλκ³ κΈ΄ λ¬Έμ₯μ μ§μ°λλ κ²μ²λΌ 보μ λλ€.
λ¬Έμ λ (*rtts).Record()
κ° μ°κΈ° μ κΈμ ν΄μ ν λ λ λμ (*rtts).Stats()
νΈμΆμ΄ λͺ¨λ μ½κΈ° μ κΈμ νλνλ―λ‘ λ κ°μ λμ (*Scheduler).ScheduleAt()
νΈμΆμ΄ μ νν λκΈ°νλλ€λ κ²μ
λλ€. (λ λ€λ₯Έ) μ½κΈ° μ κΈμ νλν λ λμμ λ°μνμ¬ Scheduler
μνμμ μμμ μ΄λν©λλ€.
μ΄κ²μ https://github.com/TheThingsNetwork/lorawan-stack/pull/3794 λ‘ μμ λμμ΅λλ€
@kurtmc λν Things Stackμμ DEBUG
λ 벨 λ‘κ·Έλ₯Ό μ»μ μ μλ κΈ°νκ° μμ΅λκΉ? κ΅¬μ± YAMLμμ log.level: debug
λ₯Ό μ€μ ν©λλ€.
@virtualguy @kurtmc μ΅κ·Ό v3.11
μμ ν΄κ²°λμλμ§ νμΈν μ μμ΅λκΉ?
DB λ§μ΄κ·Έλ μ΄μ μ μ€νν΄μΌ ν©λλ€. https://github.com/TheThingsNetwork/lorawan-stack/blob/e56f7f70e60dba8c1ad584411fb63a8c35659e7c/CHANGELOG.md#3110 ---2021-02λ₯Ό μ°Έμ‘°
μ€λ 3.11.1 릴리μ€λ₯Ό μΆμν μμ μ λλ€.
#3794μ μν΄ νμ
@virtualguy @kurtmc μ°Έκ³ λ‘ μ΄λ₯Ό 3.10.10μΌλ‘ λ°±ν¬ν νμ¬ μΈνλΌλ₯Ό λ 빨리 μ λ°μ΄νΈν μ μμ΅λλ€. #3800μ μ£Όμνκ±°λ μ¬κΈ°μμ λ¦΄λ¦¬μ€ μλ¦Όμ ꡬλ νμμμ€.
@johanstokking μ¬λ¬λΆμκ² μλ €λ리기 μν΄ νλ‘λμ νκ²½μ 3.10.10μΌλ‘ μ κ·Έλ μ΄λνλλ° μ¬μ ν λ‘κ·Έμ μ λ μκ° μ€λ₯κ° νμλ©λλ€.
@kurtmc λ€μκ³Ό κ°μ κ²½μ°μ μμλ©λλ€.
λ€μ΄λ§ν¬ λ©μμ§ μ€μΌμ€λ§κ³Ό TX μΉμΈ μμ μ¬μ΄μ μ§μ° μκ°μ μ볡 μκ°μΌλ‘ μ¬μ©ν©λλ€. μ€μκ°μ μμ μ μΌλ‘ μ¬μ©νλ €λ©΄ μ΅μ 5κ°κ° νμν©λλ€. κ·Έλ° λ€μ, ν΄λμ€ C λ€μ΄λ§ν¬ λ©μμ§λ₯Ό μ λ μκ°μΌλ‘ μ€μΌμ€λ§ν λ κ²μ΄νΈμ¨μ΄ μλ²λ μλ² μκ°κ³Ό μ€κ° μ볡 μκ°μ μ¬μ©νμ¬ μ λ(μλ²) μκ°κ³Ό ν΄λΉ μ§μ€κΈ° νμμ€ν¬νλ₯Ό κ³μ°ν©λλ€.
μμ κ²½μ°λ₯Ό μ μΈνκ³ μ λ μκ° μ€λ₯κ° κ³μ νμλλ©΄ DEBUG μμ€ μλ² λ‘κ·Έλ₯Ό μ 곡νμμμ€.
νμ€ν μ¬μ ν 3.10.10μμ μ΄ λ¬Έμ κ° νμλλ©° μ°μ μ μ‘(λμΌν μ₯μΉ IDμμ 1000ms κ°κ²©)μμ λ°μνλ κ²μ²λΌ 보μ λλ€. TTI μ§μμ ν΅ν΄ DEBUG λ‘κ·Έλ₯Ό ν΅ν΄ 보λμ΅λλ€.