-
Notifications
You must be signed in to change notification settings - Fork 12
ST1000 WiFi
The ST1000/CL65 is Samsung's first WiFi-enabled camera.
It's based around a ZORAN COACH10P SoC and there is no known firmware mirror.
The camera can connect to WiFi and then send images via email or to social media services. Except that Samsung's servers are down and the API is unknown.
When connecting to WiFi, the camera does two requests:
-
GET http://www.ospserver.net/security/sso/initialize/time
- thanks to a 2012 pastebin we have the response format:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <initializeResult><currentServerTime>1702983551792</currentServerTime></initializeResult>
-
GET http://www.ospserver.net/social/columbus/serviceproviders/list?DUID=*snipped*
- this one is unfortunately unknown, and the camera desperately repeats it multiple times before giving up.
There is a UART on the Molex "developer connector":
The UART yields the following log during a WiFi connection attempt (timestamps added by me). This looks like the respective library is called "LifeBridge" and it's also using a few commands prefixed with nx_
which indicates a shared codebase with the Samsung NX cameras, maybe:
12:04:37.277991 LifeBridgeSemaphoreGet : ../../Hce/Network/System/Wifi/wifi.c(343)
LifeBridgeWmCommand : send - 100
[wifilib] asphodel_create_packet_pool
12:04:37.821304 [wifilib] nx_bcm4325_network_driver_startup
12:04:38.028879 [wifilib] download F/W & nvram file
12:04:38.272122 [wifilib] 4.172 RC66.0
12:04:38.281312 [wifilib] wl0: Jun 5 2009 12:18:37 version 4.172.66.0
12:04:38.352436 [wifilib] asphodel_enable_netx_component
12:04:38.367657 [wifilib] bcm4325_assoc_create
12:04:38.374126 LifeBridgeWmCommand : waiting reply - 100
LifeBridgeWmCommand : end - 100 ( result : ok )
LifeBridgeSemaphorePut : ../../Hce/Network/System/Wifi/wifi.c(358)
LifeBridgeReply(0x3c20)
WifiAssoc( - latest ap : 0 : 3 : 0 )
12:04:38.490623 SSID: HubertJFarnsworth
12:04:38.493643 LifeBridgeWmCommand : send - 103
LifeBridgeWmCommand : waiting reply - 103
LifeBridgeWmCommand : end - 103 ( result : ok )
LifeBridgeReply(0x3c23)
AP_Connecting_Msg_Show- 1 )
LifeBridgeWmCommand : send - 114
LifeBridgeWmCommand : waiting reply - 114
LifeBridgeWmCommand : end - 114 ( result : ok )
LifeBridgeReply(0x3c2e)
DataSave : 0xa101
12:04:44.171666 # [sock]Init [0x80f69c60], [0x0]
12:04:44.175633 # [sock]nx_tcp_socket_create [0x0] [t=10000]
12:04:44.177979 # [sock]EventCreate [0x0]
12:04:44.182435 # [sock]nx_tcp_client_socket_bind [0x0] [t=10000]
12:04:44.187478 # [sock]nx_tcp_client_socket_connect req [0x0] [t=10000]
12:04:44.250423 # [sock]nx_tcp_client_socket_connect OK [0x0] [t=10000]
12:04:44.253916 # [sock]TcpClientCreate [0x0] [t=10000]
12:04:44.255751 WebEventHandler [1]
12:04:44.257576 WebEventHandler [2]
12:04:44.259408 WebEventHandler [3]
12:04:44.261229 WebEventHandler [4]
12:04:44.264275 # [sock]RECV [T=30000,T_N=30000]
12:04:44.293594
12:04:44.297197 # [sock]Callback_Disconnect [0x80f69dd4]
12:04:44.696257
12:04:44.698279 # [sock]END RECV [3]
12:04:44.700080 WebEventHandler [5]
12:04:44.702119 # [sock]Close [0x1d1]
12:04:44.705836 # [sock]nx_tcp_client_socket_unbind [0x0]
12:04:44.708967 # [sock]nx_tcp_socket_delete [0x0]
12:04:44.711224 # [sock]Close OK [0x101]
12:04:44.713050 WebEventHandler [6]
12:04:44.716444 WebCheckRelayServer : 5 ( -7 ) 0
LifeBridgeReply(0x3c8a)
LifeBridgeWaitMsg : done
12:04:44.724982 ui_msg_web_check_relay_server_state : 5
12:04:44.737718 # [sock]Init [0x80f69c60], [0x0]
12:04:44.741722 # [sock]nx_tcp_socket_create [0x0] [t=10000]
12:04:44.744073 # [sock]EventCreate [0x0]
12:04:44.748518 # [sock]nx_tcp_client_socket_bind [0x0] [t=10000]
12:04:44.753560 # [sock]nx_tcp_client_socket_connect req [0x0] [t=10000]
12:04:44.787189 # [sock]nx_tcp_client_socket_connect OK [0x0] [t=10000]
12:04:44.790757 # [sock]TcpClientCreate [0x0] [t=10000]
12:04:44.792582 WebEventHandler [1]
12:04:44.794430 WebEventHandler [2]
12:04:44.796248 WebEventHandler [3]
12:04:44.798073 WebEventHandler [4]
12:04:44.801111 # [sock]RECV [T=30000,T_N=30000]
12:04:44.813596
12:04:44.817243 # [sock]Callback_Disconnect [0x80f69dd4]
12:04:45.216256
12:04:45.218254 # [sock]END RECV [3]
12:04:45.220074 WebEventHandler [5]
12:04:45.222081 # [sock]Close [0x1d1]
12:04:45.225820 # [sock]nx_tcp_client_socket_unbind [0x0]
12:04:45.228948 # [sock]nx_tcp_socket_delete [0x0]
12:04:45.231220 # [sock]Close OK [0x101]
12:04:45.233046 WebEventHandler [6]
12:04:45.236441 WebCheckRelayServer : 5 ( -7 ) 0
LifeBridgeReply(0x3c8a)
LifeBridgeWaitMsg : done
12:04:45.245002 ui_msg_web_check_relay_server_state : 5
12:04:46.355718 WifiClose : 0(state 22)
WifiClose : 1 0 0 1 0)
12:04:46.361168 LifeBridgeWmCommand : send - 113
LifeBridgeWmCommand : waiting reply - 113
LifeBridgeWmCommand : end - 113 ( result : ok )
LifeBridgeWmCommand : send - 105
LifeBridgeWmCommand : waiting reply - 105
LifeBridgeWmCommand : end - 105 ( result : ok )
LifeBridgeWmCommand : send - 101
[wifilib] Delete "bcm4325_assoc" thread
12:04:46.405377 [wifilib] Delete "assoc thread queue" queue
12:04:46.408158 [wifilib] bcm4325_assoc_delete
12:04:46.411882 [wifilib] asphodel_disable_netx_component
12:04:46.435659 [wifilib] Delete "dhd_asyncEvent" thread
12:04:46.439119 [wifilib] Delete "dhd_sdioIntr" thread
12:04:46.442186 [wifilib] Delete "dhd_dpc" thread
12:04:46.446072 [wifilib] Delete "Ad-hoc guest queue" queue
12:04:46.449501 [wifilib] Delete "802.1X queue" queue
12:04:46.453651 [wifilib] Delete "discard message queue" queue
12:04:46.456916 [wifilib] Delete "sync queue" queue
12:04:46.460698 [wifilib] Delete "async event queue" queue
12:04:46.464559 [wifilib] Delete "bottom half queue" queue
12:04:46.489917 [wifilib] nx_bcm4325_network_driver_cleanup
12:04:46.493313 [wifilib] asphodel_delete_packet_pool
12:04:46.497120 LifeBridgeWmCommand : waiting reply - 101
LifeBridgeWmCommand : end - 101 ( result : ok )
relay server : 5
12:04:46.586126 relay server : 5
12:04:58.665180 LifeBridgeWmCommand : end - 103 ( result : ok )
LifeBridgeReply(0x3c23)
AP_Connecting_Msg_Show- 1 )
LifeBridgeWmCommand : send - 114
LifeBridgeWmCommand : waiting reply - 114
LifeBridgeWmCommand : end - 114 ( result : ok )
LifeBridgeReply(0x3c2e)
DataSave : 0xa101
12:04:59.705563 # [sock]Init [0x80f69c60], [0x0]
12:04:59.709531 # [sock]nx_tcp_socket_create [0x0] [t=10000]
12:04:59.711924 # [sock]EventCreate [0x0]
12:04:59.716335 # [sock]nx_tcp_client_socket_bind [0x0] [t=10000]
12:04:59.721389 # [sock]nx_tcp_client_socket_connect req [0x0] [t=10000]
12:05:01.679910 # [sock]nx_tcp_client_socket_connect OK [0x0] [t=10000]
12:05:01.683443 # [sock]TcpClientCreate [0x0] [t=10000]
12:05:01.685313 WebEventHandler [1]
12:05:01.687100 WebEventHandler [2]
12:05:01.688928 WebEventHandler [3]
12:05:01.690756 WebEventHandler [4]
12:05:01.693806 # [sock]RECV [T=30000,T_N=30000]
12:05:01.710445
12:05:01.714049 # [sock]Callback_Disconnect [0x80f69dd4]
12:05:02.113032
12:05:02.114993 # [sock]END RECV [3]
12:05:02.116819 WebEventHandler [5]
12:05:02.118813 # [sock]Close [0x1d1]
12:05:02.122547 # [sock]nx_tcp_client_socket_unbind [0x0]
12:05:02.125707 # [sock]nx_tcp_socket_delete [0x0]
12:05:02.127936 # [sock]Close OK [0x101]
12:05:02.129765 WebEventHandler [6]
12:05:02.133170 WebCheckRelayServer : 5 ( -7 ) 0
LifeBridgeReply(0x3c8a)
LifeBridgeWaitMsg : done
12:05:02.141683 ui_msg_web_check_relay_server_state : 5
12:05:02.154403 # [sock]Init [0x80f69c60], [0x0]
12:05:02.158372 # [sock]nx_tcp_socket_create [0x0] [t=10000]
12:05:02.160722 # [sock]EventCreate [0x0]
12:05:02.165177 # [sock]nx_tcp_client_socket_bind [0x0] [t=10000]
12:05:02.170218 # [sock]nx_tcp_client_socket_connect req [0x0] [t=10000]
12:05:04.173963 # [sock]nx_tcp_client_socket_connect OK [0x0] [t=10000]
12:05:04.177563 # [sock]TcpClientCreate [0x0] [t=10000]
12:05:04.179359 WebEventHandler [1]
12:05:04.181185 WebEventHandler [2]
12:05:04.183031 WebEventHandler [3]
12:05:04.184831 WebEventHandler [4]
12:05:04.187878 # [sock]RECV [T=30000,T_N=30000]
12:05:04.205663
12:05:04.209327 # [sock]Callback_Disconnect [0x80f69dd4]
12:05:04.608982
12:05:04.610939 # [sock]END RECV [3]
12:05:04.612788 WebEventHandler [5]
12:05:04.614790 # [sock]Close [0x1d1]
12:05:04.618514 # [sock]nx_tcp_client_socket_unbind [0x0]
12:05:04.621659 # [sock]nx_tcp_socket_delete [0x0]
12:05:04.623934 # [sock]Close OK [0x101]
12:05:04.625743 WebEventHandler [6]
12:05:04.629126 WebCheckRelayServer : 5 ( -7 ) 0
LifeBridgeReply(0x3c8a)
LifeBridgeWaitMsg : done
12:05:04.637674 ui_msg_web_check_relay_server_state : 5
12:05:05.748362 WifiClose : 0(state 22)
WifiClose : 1 0 0 1 0)
12:05:05.753842 LifeBridgeWmCommand : send - 113
LifeBridgeWmCommand : waiting reply - 113
LifeBridgeWmCommand : end - 113 ( result : ok )
LifeBridgeWmCommand : send - 105
LifeBridgeWmCommand : waiting reply - 105
LifeBridgeWmCommand : end - 105 ( result : ok )
LifeBridgeWmCommand : send - 101
[wifilib] Delete "bcm4325_assoc" thread
12:05:05.798007 [wifilib] Delete "assoc thread queue" queue
12:05:05.800786 [wifilib] bcm4325_assoc_delete
12:05:05.804528 [wifilib] asphodel_disable_netx_component
12:05:05.828447 [wifilib] Delete "dhd_asyncEvent" thread
12:05:05.831907 [wifilib] Delete "dhd_sdioIntr" thread
12:05:05.834952 [wifilib] Delete "dhd_dpc" thread
12:05:05.838866 [wifilib] Delete "Ad-hoc guest queue" queue
12:05:05.842309 [wifilib] Delete "802.1X queue" queue
12:05:05.846455 [wifilib] Delete "discard message queue" queue
12:05:05.849643 [wifilib] Delete "sync queue" queue
12:05:05.853499 [wifilib] Delete "async event queue" queue
12:05:05.857299 [wifilib] Delete "bottom half queue" queue
12:05:05.882624 [wifilib] nx_bcm4325_network_driver_cleanup
12:05:05.885960 [wifilib] asphodel_delete_packet_pool
12:05:05.889811 LifeBridgeWmCommand : waiting reply - 101
LifeBridgeWmCommand : end - 101 ( result : ok )
relay server : 5
12:05:05.979049 relay server : 5
If the time
endpoint is not available, the UART log is slightly different:
15:45:38.886545 WebEventHandler [6]
15:45:38.889966 WebCheckRelayServer : 2 ( -8 ) 0
LifeBridgeReply(0x3c8a)
LifeBridgeWaitMsg : done
15:45:38.898486 ui_msg_web_check_relay_server_state : 2
[...]
LifeBridgeWmCommand : end - 101 ( result : ok )
relay server : 2
15:45:41.429852 relay server : 2
15:45:41.431507 relay server : 2