<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to use `nrf_socket` to implement PING function on nrf9160?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127281/how-to-use-nrf_socket-to-implement-ping-function-on-nrf9160</link><description>I tried to use NRF_SOCK_RAW and NRF_IPPROTO_RAW to create socket, but found `modem fault`! 
 
 //this is my wrapper 
 socket_create ( true , AF_INET , SOCK_RAW , IPPROTO_RAW , NULL , NULL , NULL ) 
 
 { 
 
 
 sockfd = socket ( family , type , protocol</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 05 Mar 2026 12:30:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127281/how-to-use-nrf_socket-to-implement-ping-function-on-nrf9160" /><item><title>RE: How to use `nrf_socket` to implement PING function on nrf9160?</title><link>https://devzone.nordicsemi.com/thread/562638?ContentTypeID=1</link><pubDate>Thu, 05 Mar 2026 12:30:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18c6d029-8d4a-483d-abdc-1138a6af5b58</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can find relevance code for reference in&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/v3.2.3/samples/cellular/modem_shell/src/at/at_cmd_mode_custom.c#L64-L168"&gt;at_cmd_mode_custom.c#L64-L168&lt;/a&gt;&amp;nbsp;and &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/v3.2.3/samples/cellular/modem_shell/src/ping/icmp_ping.c"&gt;icmp_ping.c&lt;/a&gt;&amp;nbsp;from the Modem Shell sample.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use `nrf_socket` to implement PING function on nrf9160?</title><link>https://devzone.nordicsemi.com/thread/562621?ContentTypeID=1</link><pubDate>Thu, 05 Mar 2026 09:16:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0a384cc-119d-4d10-a220-26157cb20d16</guid><dc:creator>shingo shingo</dc:creator><description>&lt;p&gt;&lt;strong&gt;Please help check how to conect to dst ip?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.socket cant find dst addr&lt;/p&gt;
&lt;div&gt;&lt;span&gt;sockfd = socket_create&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;AF_PACKET&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;SOCK_RAW&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;IPPROTO_IP /*or&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;IPPROTO_RAW*/&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;NULL&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;NULL&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;NULL&lt;/span&gt;&lt;span&gt;&lt;span&gt;);&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;send(sockfd, &amp;amp;pkt, PING_PKT_SIZE, 0);&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/socket_5F00_AF_5F00_PACKET_5F00_SOCK_5F00_RW_5F00_send_5F00_icmp.png" /&gt;&lt;br /&gt;[&amp;lt;---] [2026-03-05 17:13:56:279] [DBG][Hub] &amp;lt;SOCKET&amp;gt; Create RAW socket&lt;br /&gt;[&amp;lt;---] [2026-03-05 17:13:56:285] [DBG][Hub] &amp;lt;SOCKET&amp;gt; [_FD_7_] Create success: type=3, protocol=255, block=1&lt;br /&gt;[&amp;lt;---] [2026-03-05 17:13:56:295] [INF][Hub] &amp;lt;SOCKET&amp;gt; [_FD_7_] Failed to send ping packet: Address family not supported by protocol family&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;2. socket cant support &lt;span&gt;AF_PACKET&amp;nbsp;protocol family&lt;br /&gt;sockfd = socket_create(true,&amp;nbsp;AF_PACKET,&amp;nbsp;SOCK_RAW,&amp;nbsp;IPPROTO_IP,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL);&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;struct&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sockaddr_in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;addr_in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;}; or&lt;br /&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;addr_in&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;sll_family&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;AF_PACKET&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;struct&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sockaddr_ll&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;addr_ll&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;};&lt;br /&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;addr_ll&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;sll_family&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;AF_PACKET&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;sendto&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;sockfd&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;span&gt;pkt&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;PING_PKT_SIZE&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;, (&lt;/span&gt;&lt;span&gt;struct&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sockaddr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;span&gt;addr_ll /* or &amp;amp;addr_in*/&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span&gt;sizeof&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;addr_ll&lt;/span&gt;&lt;span&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/socket_5F00_AF_5F00_PACKET_5F00_SOCK_5F00_RW_5F00_sendto_5F00_icmp.png" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use `nrf_socket` to implement PING function on nrf9160?</title><link>https://devzone.nordicsemi.com/thread/562598?ContentTypeID=1</link><pubDate>Thu, 05 Mar 2026 02:43:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dffaa559-98dd-4cd6-ac66-915fcad2f888</guid><dc:creator>shingo shingo</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/trace_2D00_2026_2D00_03_2D00_05T02_2D00_33_2D00_47.512Z.mtrace"&gt;devzone.nordicsemi.com/.../trace_2D00_2026_2D00_03_2D00_05T02_2D00_33_2D00_47.512Z.mtrace&lt;/a&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/modem_5F00_fault.pcapng"&gt;devzone.nordicsemi.com/.../modem_5F00_fault.pcapng&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>