Feed for discussion General in project Networking. Posts for General post122159: using sendmsg/sendmmsg for data link layer packets yamuna devi(deleted) http://community.qnx.com/sf/go/post122159 2023-03-11T11:34:31Z 2023-03-11T11:34:31Z Hi, i have written an application which runs under QNX version 7.1.0 to send raw Ethernet frames using BPF interface. The application constructs the Ethernet frame and send it using the write() function, it is working fine. Since the number of frames that we need to send are really large, by using the write() function it takes long time and the throughput is very low. Therefore I consider using the sendmsg (mainly sendmmsg) to send large chunks of frames in one shot. However these functions are not working with BPF interface and throws the error "Socket operation on non-socket". Here is the used code snippet: std::vector<uint8_t> m_buffer = ...; struct msghdr snd_msg; unsigned char dst_addr[6] = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11}; struct iovec snd_iov[1]; snd_iov[0].iov_base = m_buffer.data(); snd_iov[0].iov_len = m_buffer.size(); snd_msg.msg_name = dst_addr; snd_msg.msg_namelen = 6; snd_msg.msg_iov = snd_iov; snd_msg.msg_iovlen = 1; snd_msg.msg_control = 0; snd_msg.msg_controllen = 0; ssize_t bytes_sent = sendmsg(m_socketFd, &snd_msg, 0); if (bytes_sent == -1) { std::cerr << "sendmsg failed: " << strerror(errno) << "\n"; } else if (bytes_sent != m_buffer.size()) { std::cerr << "could not send all data: " << bytes_sent << "\n"; } else { std::cout << "sent all data\n"; } The error msg: # /tmp/send sendmsg failed: Socket operation on non-socket What is the standard solution to send multiple raw Ethernet frames in QNX? Thanks yamuna devi(deleted) 2023-03-11T11:34:31Z post122013: Re: QNX7 SNMP Michael Kurt http://community.qnx.com/sf/go/post122013 2022-11-29T08:16:24Z 2022-11-29T08:16:24Z Hi Nick, thanks for the info (unfortunately I expected such an answer) ;-( OK, so we have to look around for a 3rd party solution. Regards, Michael. Michael Kurt 2022-11-29T08:16:24Z post122010: Re: QNX7 SNMP Nick Reilly http://community.qnx.com/sf/go/post122010 2022-11-28T14:01:46Z 2022-11-28T14:01:46Z Hi Michael, There's no SNMP agent included in later versions of QNX, you will need to use an external product. The old included one was Net-SNMP, you may be able to use an updated version of that. Regards, Nick. Nick Reilly 2022-11-28T14:01:46Z post122009: QNX7 SNMP Michael Kurt http://community.qnx.com/sf/go/post122009 2022-11-28T06:44:29Z 2022-11-28T06:44:29Z Hi all, in QNX 6.5 there was an SNMP agent available, which seems to be gone in QNX7.0 (or at least am I unable to find anything regarding SNMP in QNX Software Center and in the documentation). Are there plans to provide an SNMP agent in future versions of QNX or does one need to use external products? If the latter is true: are there any recommendations? Thanks in advance, Michael. Michael Kurt 2022-11-28T06:44:29Z post121921: Re: sendmmsg to saturate 1 GBit link Nick Reilly http://community.qnx.com/sf/go/post121921 2022-09-15T14:17:09Z 2022-09-15T14:17:09Z There's an interface send queue which is where the data is placed and sendmmsg() will return. Once that is full then sendmmsg() will return ENOBUFS. The driver will be reading from the other end of the interface send queue and setting up the DMA descriptors. You have no indication of when the packet is actually transmitted. This makes it very tricky to saturate an interface with UDP traffic - if you write too fast you get ENOBUFS and you are just wasting CPU that's probably needed to deal with transmitting, write too slowly and you aren't keeping the interface busy enough. TCP is a lot easier to saturate an interface in that there will be a TCP socket buffer that a blocking write() will not return from until there is space in that buffer. Drivers can set their interface queue lengths, but most will default to 256 packets. I suspect you are also suffering from fragmentation increasing the number of packets, unless you have adjusted the interface MTU. Nick Reilly 2022-09-15T14:17:09Z post121920: sendmmsg to saturate 1 GBit link Thorsten Wilmer http://community.qnx.com/sf/go/post121920 2022-09-15T11:36:05Z 2022-09-15T11:36:05Z Hi I would like to saturate a 1 GBit/s link with data, which statically allocated in my program. So I know what to send and when. I can create according to the manual up to 1024 messages with sendmmsg. But I am out of buffers already when I send 20 messages (7003 bytes). Sending 10 messages at once works. How can I debug this and where can I increase the memory/buffers available for this operation? So that I can actually send the promised 1024 UDP messages at once? Is my expectation correct that sendmmsg only returns once the DMA for this bunch of messages is done? Kind Regards Thorsten Thorsten Wilmer 2022-09-15T11:36:05Z post121874: Re: Ethernet packet ge zhang(deleted) http://community.qnx.com/sf/go/post121874 2022-07-14T03:39:55Z 2022-07-14T03:39:55Z Hi: Thanks a lot. I am trying the BPF way. I have a problem that how to set a BLOCK mode(like socket) when receiving packets. I have find a ioctl command BIOCIMMEDIATE but it says that BPF will return value when the buffer becomes full or timeout occurs which is different from BLOCK mode in socket. Do you have any advice about this? BEST Ge ge zhang(deleted) 2022-07-14T03:39:55Z post121867: Re: Ethernet packet Nick Reilly http://community.qnx.com/sf/go/post121867 2022-07-13T13:34:41Z 2022-07-13T13:34:41Z Note that while the lsm-xxx.so flexibility is very high, so is the complexity especially given io-pkt's unique threading model. With this code running in io-pkt then it can cause issues with any packet flow or interface if care isn't taken. If you don't need the full facilities and performance of an lsm-xxx.so then I strongly recommend to stick with the BPF API. It's far better documented and you are running as a normal process rather than as part of io-pkt. Nick Reilly 2022-07-13T13:34:41Z post121866: Re: Ethernet packet Michael Tasche http://community.qnx.com/sf/go/post121866 2022-07-13T11:51:49Z 2022-07-13T11:51:49Z Hello, as i remember right, lsm-nraw.so was available as source code to have an example for your own specialized filters. The lowest latency will be archived implementing your complete network protocol as your own lsm-XXX.so. Here the flexibility is very high. For example, if the message passing latency to the resmgr interface of the lsm-nraw.so is to high for your problem, store the frames with your lsm-XXX.so to a shared memory region and use the resmgr interface only for triggering... Regards Michael Michael Tasche 2022-07-13T11:51:49Z post121852: Ethernet packet ge zhang(deleted) http://community.qnx.com/sf/go/post121852 2022-07-12T10:16:58Z 2022-07-12T10:16:58Z I want figure out the difference between lsm-nraw and bpf device when processing ethernet packets. I can use both module to send/receive ethernet packets. Which one has better interfaces support? ge zhang(deleted) 2022-07-12T10:16:58Z post121444: QNX 6.6.0 Audio Driver for Intel Kaby Lake chipset Janusz Ruszel http://community.qnx.com/sf/go/post121444 2021-06-01T23:11:37Z 2021-06-01T23:11:37Z Is there any chance that the audio driver will be available for Intel Kaby Lake chipset for QNX 6.6.0+ SP1? Janusz Ruszel 2021-06-01T23:11:37Z post121014: Re: Perintah QNX untuk Melihat Semua Pengguna yang Masuk melalui ssh. iwan angkawijaya(deleted) http://community.qnx.com/sf/go/post121014 2020-10-05T07:08:34Z 2020-10-05T07:08:34Z > In Linux.. Command such as who or w will show you logged all the users logged > on to the system. > > Are there similar commands for doing the same in QNX or similar binaries files > ? > > Kindly help. > iwan angkawijaya(deleted) 2020-10-05T07:08:34Z post120878: Re: How to setup DNS server in QNX7.0 Darshan B(deleted) http://community.qnx.com/sf/go/post120878 2020-08-04T14:56:38Z 2020-08-04T14:56:38Z Thank you Nick for your reply. I tried using libcares provided by QNX. But still facing the same issue. For ping you asked, gRPC is configured for tcp6. And we are using the default address=0.0.0.0 and port=50051. I am able to run the server. I am facing the problem with client. I can see the server if I do netstat command. Please help me to understand the problem, because I am new to Networking. I have attached the logs. Darshan B(deleted) 2020-08-04T14:56:38Z post120877: Re: How to setup DNS server in QNX7.0 Nick Reilly http://community.qnx.com/sf/go/post120877 2020-08-04T13:21:45Z 2020-08-04T13:21:45Z No, you do not need a DNS server running on QNX, you need to be setup to talk to one. Does the rest of networking work correctly i.e. can you ping things by name? If not you have a fundamental networking configuration problem in your BSP. If that does work but gRPC doesn't work, then I note that gRPC is using C-ares for name resolution which can add complexity. We ship libcares with the curl packages, I don't know if you are using this copy or whether you are building your own. I strongly recommend contacting your QNX technical support person. QNX offers assistance in porting code. Nick Reilly 2020-08-04T13:21:45Z post120875: How to setup DNS server in QNX7.0 Darshan B(deleted) http://community.qnx.com/sf/go/post120875 2020-08-03T08:25:12Z 2020-08-03T08:25:12Z I am working on gRPC for QNX ARM 7.0 platform. I am able to build the gRPC code for QNX platform. While running these binaries I am facing an issue related to DNS server. D0101 23:54:27.828777594 1 grpc_ares_ev_driver.cc:313] (c-ares resolver) request:1036ce90 readable on c-ares fd: 3 D0101 23:54:27.829777489 1 grpc_ares_wrapper.cc:243] (c-ares resolver) request:1036ce90 on_hostbyname_done_locked host=localhost C-ares status is not ARES_SUCCESS: Could not contact DNS servers D0101 23:54:27.829777489 1 grpc_ares_ev_driver.cc:98] (c-ares resolver) request:1036ce90 Ref ev_driver 10361460 D0101 23:54:27.829777489 1 grpc_ares_ev_driver.cc:407] (c-ares resolver) request:1036ce90 notify read on: c-ares fd: 3 D0101 23:54:27.829777489 1 grpc_ares_ev_driver.cc:105] (c-ares resolver) request:1036ce90 Unref ev_driver 10361460 D0101 23:54:27.830777436 1 grpc_ares_ev_driver.cc:313] (c-ares resolver) request:1036ce90 readable on c-ares fd: 3 D0101 23:54:27.830777436 1 grpc_ares_ev_driver.cc:98] (c-ares resolver) request:1036ce90 Ref ev_driver 10361460 D0101 23:54:27.830777436 1 grpc_ares_ev_driver.cc:407] (c-ares resolver) request:1036ce90 notify read on: c-ares fd: 3 D0101 23:54:27.830777436 1 grpc_ares_ev_driver.cc:105] (c-ares resolver) request:1036ce90 Unref ev_driver 10361460 D0101 23:54:27.831777175 1 grpc_ares_ev_driver.cc:313] (c-ares resolver) request:1036ce90 readable on c-ares fd: 3 D0101 23:54:27.831777175 1 grpc_ares_wrapper.cc:243] (c-ares resolver) request:1036ce90 on_hostbyname_done_locked host=localhost C-ares status is not ARES_SUCCESS: Could not contact DNS servers I0101 23:54:27.831777175 1 timer_generic.cc:468] TIMER 103614a8: CANCEL pending=true I0101 23:54:27.831777175 1 timer_generic.cc:468] TIMER 103614f8: CANCEL pending=true D0101 23:54:27.831777175 1 grpc_ares_ev_driver.cc:105] (c-ares resolver) request:1036ce90 Unref ev_driver 10361460 D0101 23:54:27.832777227 1 grpc_ares_ev_driver.cc:119] (c-ares resolver) request:1036ce90 delete fd: c-ares fd: 3 D0101 23:54:27.832777227 1 grpc_ares_ev_driver.cc:449] (c-ares resolver) request:1036ce90 ev driver stop working D0101 23:54:27.832777227 1 grpc_ares_ev_driver.cc:105] (c-ares resolver) request:1036ce90 Unref ev_driver 10361460 D0101 23:54:27.832777227 1 grpc_ares_ev_driver.cc:247] (c-ares resolver) request:1036ce90 ev_driver=10361460 on_timeout_locked. driver->shutting_down=1. err="Cancelled" D0101 23:54:27.833776966 1 grpc_ares_ev_driver.cc:105] (c-ares resolver) request:1036ce90 Unref ev_driver 10361460 D0101 23:54:27.833776966 1 grpc_ares_ev_driver.cc:276] (c-ares resolver) request:1036ce90 ev_driver=10361460 on_ares_backup_poll_alarm_locked. driver->shutting_down=1. err="Cancelled" D0101 23:54:27.833776966 1 grpc_ares_ev_driver.cc:105] (c-ares resolver) request:1036ce90 Unref ev_driver 10361460 D0101 23:54:27.833776966 1 grpc_ares_ev_driver.cc:108] (c-ares resolver) request:1036ce90 destroy ev_driver 10361460 D0101 23:54:27.833776966 1 dns_resolver_ares.cc:367] (c-ares resolver) resolver:10361560 dns resolution failed: {"created":"@86067.831777175","description":"C-ares status is not ARES_SUCCESS: Could not contact DNS servers","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244,"referenced_errors":[{"created":"@86067.829777489","description":"C-ares status is not ARES_SUCCESS: Could not contact DNS servers","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244}]} I0101 23:54:27.834777226 1 resolving_lb_policy.cc:254] resolving_lb=1036d240: resolver transient failure: {"created":"@86067.834777226","description":"DNS resolution failed","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc","file_line":370,"grpc_status":14,"referenced_errors":[{"created":"@86067.831777175","description":"C-ares status is not ARES_SUCCESS: Could not contact DNS servers","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244,"referenced_errors":[{"created":"@86067.829777489","description":"C-ares status is not ARES_SUCCESS: Could not contact DNS servers","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244}]}]} I0101 23:54:27.834777226 1 client_channel.cc:1332] chand=103633b8: update: state=TRANSIENT_FAILURE picker=10369730 I0101 23:54:27.835777173 1 connectivity_state.cc:151] ConnectivityStateTracker client_channel[10363450]: CONNECTING -> TRANSIENT_FAILURE (helper) I0101 23:54:27.835777173 1 client_channel.cc:3912] chand=103633b8 calld=103621e0: LB pick returned FAILED (subchannel=0, error={"created":"@86067.834777226","description":"Resolver transient failure","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolving_lb_policy.cc","file_line":262,"referenced_errors":[{"created":"@86067.834777226","description":"DNS resolution failed","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc","file_line":370,"grpc_status":14,"referenced_errors":[{"created":"@86067.831777175","description":"C-ares status is not ARES_SUCCESS: Could not contact DNS servers","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244,"referenced_errors":[{"created":"@86067.829777489","description":"C-ares status is not ARES_SUCCESS: Could not contact DNS servers","file":"/local/mnt/workspace/gitlab/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244}]}]}]}) I think this issue is related to DNS server, which is not set in our target. Can you please help me to know how I can setup the DNS server? I am new to this networking as well as QNX. Also correct me if I am suspecting wrong thing. Darshan B(deleted) 2020-08-03T08:25:12Z post120244: QNX Command to View All the Users Logged on via ssh. Saurav Suman(deleted) http://community.qnx.com/sf/go/post120244 2020-02-09T10:44:36Z 2020-02-09T10:44:36Z In Linux.. Command such as who or w will show you logged all the users logged on to the system. Are there similar commands for doing the same in QNX or similar binaries files ? Kindly help. Saurav Suman(deleted) 2020-02-09T10:44:36Z post120243: Re: Enabling SSH login to QNX Saurav Suman(deleted) http://community.qnx.com/sf/go/post120243 2020-02-09T10:40:41Z 2020-02-09T10:40:41Z AFAIK, As long as your system is read-only.. you will not be able to enable or disable anything. So before flashing you will need to make partitions rw [read-writeable]. Then only you can proceed. I think. Saurav Suman(deleted) 2020-02-09T10:40:41Z post120242: Enabling SSH login to QNX Amin Sahebi http://community.qnx.com/sf/go/post120242 2020-02-08T13:05:30Z 2020-02-08T13:05:30Z I am trying to enable SSH on QNX6.5 in read-only file system. already I enabled it, but i don't have any idea how to set the password for my login session. I carried out all the required steps which is listed at: "http://www.qnx.com/developers/docs/6.6.0_anm11_wf10/#com.qnx.doc.neutrino.utilities/topic/s/sshd.html" but i cant use "passwd [USER]" to set password, due to read-only file system. it would be greatly appreciated if you can give me a hand by this, thanks in advanced. Amin Sahebi 2020-02-08T13:05:30Z post120084: Re: io-pkt avb library API Piotr Pasterak http://community.qnx.com/sf/go/post120084 2019-11-19T15:03:42Z 2019-11-19T15:03:42Z Hi, I have problem with pdpd-avb synchronization as well (ONX on S32V2): no sucess with: ptpd-avb -b fec0 -g -L -K -cC when I try with: ptpd-avb -b fec0 -g -L -K -cC -O 550 it seems promising but seems slave clock doesn't follow (pdpd-avb doesn't control them?): # ptpd-avb -b fec0 -g -L -K -cC -O 550 serIF0-> <2019-11-14> <15:09:57.945> (ptpd info) 15:07:50.932771 (___) serIF0-> <2019-11-14> <15:09:57.946> (ptpd info) 15:07:50.933771 (___) Starting ptpd2 daemon with parameters: ptpd-avb -b fec0 -g -L -K -cC -O 550 serIF0-> <2019-11-14> <15:09:57.947> (ptpd info) 15:07:50.933771 (___) Info: Startup finished sucessfully serIF0-> <2019-11-14> <15:09:57.947> # Timestamp, State, Clock ID, One Way Delay, Offset From Master, Slave to Master, Master to Slave, Drift, Last packet Received serIF0-> <2019-11-14> <15:09:57.948> 2019-11-14 15:07:50.934771, init serIF0-> <2019-11-14> <15:09:57.948> (ptpd notice) 15:07:50.936771 (init) hardware time support = 1, serIF0-> <2019-11-14> <15:09:57.949> (ptpd notice) 15:07:50.937771 (init) setPtpTimeFromSystem to TAI: 1573744070s 936771526ns serIF0-> <2019-11-14> <15:09:57.949> (ptpd info) 15:07:50.937771 (init) now in state PTP_LISTENING serIF0-> <2019-11-14> <15:09:57.950> 2019-11-14 15:07:50.000000, lstn_init 1 serIF0-> <2019-11-14> <15:10:00.891> (ptpd info) 15:07:53.937771 (lstn_init) now in state PTP_LISTENING serIF0-> <2019-11-14> <15:10:00.892> 2019-11-14 15:07:49.936771, lstn_init 1 serIF0-> <2019-11-14> <15:10:03.872> (ptpd info) 15:07:56.937771 (lstn_init) now in state PTP_LISTENING serIF0-> <2019-11-14> <15:10:03.894> 2019-11-14 15:07:50.000000, lstn_init 1 serIF0-> <2019-11-14> <15:10:04.087> (ptpd info) 15:07:57.124771 (lstn_init) now in state PTP_SLAVE serIF0-> <2019-11-14> <15:10:04.088> 2019-11-14 15:07:49.936771, slv 6805cafffe8d02c1(unknown)/01, 0.000000000, 0.000000000, 0.000000000, 0.000000000, 0, I serIF0-> <2019-11-14> <15:10:04.474> (ptpd notice) 15:07:57.174771 (slv) Received first Sync from Master serIF0-> <2019-11-14> <15:10:04.475> (ptpd notice) 15:07:57.174771 (slv) going to arm DelayReq timer for the first time, with initial rate: 0 serIF0-> <2019-11-14> <15:10:04.475> (ptpd info) 15:07:57.176771 (slv) updateClock aborted, offset greater than 1 second. (ptpd notice) 15:07:57.176771 (slv) msgDebugHeader: messageType 8 serIF0-> <2019-11-14> <15:10:04.476> (ptpd notice) 15:07:57.177771 (slv) msgDebugHeader: versionPTP 2 serIF0-> <2019-11-14> <15:10:04.476> (ptpd notice) 15:07:57.178771 (slv) msgDebugHeader: messageLength 76 serIF0-> <2019-11-14> <15:10:04.476> (ptpd notice) 15:07:57.178771 (slv) msgDebugHeader: domainNumber 0 serIF0-> <2019-11-14> <15:10:04.477> (ptpd notice) 15:07:57.179771 (slv) msgDebugHeader: flags 00 00 serIF0-> <2019-11-14> <15:10:04.477> (ptpd notice) 15:07:57.180771 (slv) msgDebugHeader: correctionfield 0 serIF0-> <2019-11-14> <15:10:04.478> (ptpd notice) 15:07:57.180771 (slv) msgDebugHeader: sourcePortIdentity.clockIdentity 68:05:ca:ff:fe:8d02:c1 serIF0-> <2019-11-14> <15:10:04.478> (ptpd notice) 15:07:57.181771 (slv) msgDebugHeader: sourcePortIdentity.portNumber 1 serIF0-> <2019-11-14> <15:10:04.479> (ptpd notice) 15:07:57.182771 (slv) msgDebugHeader: sequenceId 38 serIF0-> <2019-11-14> <15:10:04.479> (ptpd notice) 15:07:57.182771 (slv) msgDebugHeader: controlField 2 serIF0-> <2019-11-14> <15:10:04.480> (ptpd notice) 15:07:57.183771 (slv) msgDebugHeader: logMessageIntervale -3 serIF0-> <2019-11-14> <15:10:04.480> (ptpd notice) 15:07:57.184771 (slv) msgDebugFollowUp: preciseOriginTimestamp.seconds 1573744076 serIF0-> <2019-11-14> <15:10:04.480> (ptpd notice) 15:07:57.185771 (slv) msgDebugFollowUp: preciseOriginTimestamp.nanoseconds 617334267 serIF0-> <2019-11-14> <15:10:04.481> 2019-11-14 15:07:50.000000, slv 6805cafffe8d02c1(unknown)/01, 0.000000000, -6.680562741, 0.000000000, -6.680562741, 0, S serIF0-> <2019-11-14> <15:10:04.481> (ptpd notice) 15:07:57.186771 (slv) Signaling MSG sent ! serIF0-> <2019-11-14> <15:10:04.481> (ptpd info) 15:07:57.312771 (slv) updateClock aborted, offset greater than 1 second. (ptpd notice) 15:07:57.313771 (slv) msgDebugHeader: messageType 8 serIF0-> <2019-11-14> <15:10:04.482> (ptpd notice) 15:07:57.314771 (slv) msgDebugHeader: versionPTP 2 serIF0-> <2019-11-14> <15:10:04.482> (ptpd notice) 15:07:57.314771 (slv) msgDebugHeader: messageLength 76 serIF0-> <2019-11-14> <15:10:04.483> (ptpd notice) 15:07:57.315771 (slv) msgDebugHeader: domainNumber 0 serIF0-> <2019-11-14> <15:10:04.483> (ptpd notice) 15:07:57.316771 (slv) msgDebugHeader: flags 00 00 serIF0-> <2019-11-14> <15:10:04.483> (ptpd notice) 15:07:57.316771 (slv) msgDebugHeader: correctionfield 0 serIF0-> <2019-11-14> <15:10:04.483> (ptpd notice) 15:07:57.317771 (slv) msgDebugHeader: sourcePortIdentity.clockIdentity 68:05:ca:ff:fe:8d02:c1 serIF0-> <2019-11-14> <15:10:04.484> (ptpd notice) 15:07:57.318771 (slv) msgDebugHeader: sourcePortIdentity.portNumber 1 serIF0-> <2019-11-14> <15:10:04.484> (ptpd notice) 15:07:57.319771 (slv) msgDebugHeader: sequenceId 39 serIF0-> <2019-11-14> <15:10:04.484> (ptpd notice) 15:07:57.320771 (slv) msgDebugHeader: controlField 2 serIF0-> <2019-11-14> <15:10:04.484> (ptpd notice) 15:07:57.320771 (slv) msgDebugHeader: logMessageIntervale -3 serIF0-> <2019-11-14> <15:10:04.485> (ptpd notice) 15:07:57.321771 (slv) msgDebugFollowUp: preciseOriginTimestamp.seconds 1573744076 serIF0-> <2019-11-14> <15:10:04.485> (ptpd notice) 15:07:57.322771 (slv) msgDebugFollowUp: preciseOriginTimestamp.nanoseconds 742506923 serIF0-> <2019-11-14> <15:10:04.485> 2019-11-14 15:07:50.000000, slv 6805cafffe8d02c1(unknown)/01, 0.000000000, -6.742506923, 0.000000000, -6.742506923, 0, S serIF0-> <2019-11-14> <15:10:04.486> (ptpd info) 15:07:57.424771 (slv) updateClock aborted, offset greater than 1 second. (ptpd notice) 15:07:57.425771 (slv) msgDebugHeader: messageType 8 serIF0-> <2019-11-14> <15:10:04.486> (ptpd notice) 15:07:57.425771 (slv) msgDebugHeader: versionPTP 2 serIF0-> <2019-11-14> <15:10:04.486> (ptpd notice) 15:07:57.426771 (slv) msgDebugHeader: messageLength 76 serIF0-> <2019-11-14> <15:10:04.487> (ptpd notice) 15:07:57.427771 (slv) msgDebugHeader: domainNumber 0 serIF0-> <2019-11-14> <15:10:04.487> (ptpd notice) 15:07:57.427771 (slv) msgDebugHeader: flags 00 00 serIF0-> <2019-11-14> <15:10:04.487> (ptpd notice) 15:07:57.428771 (slv) msgDebugHeader: correctionfield 0 serIF0-> <2019-11-14> <15:10:04.487> (ptpd notice) 15:07:57.429771 (slv) msgDebugHeader: sourcePortIdentity.clockIdentity 68:05:ca:ff:fe:8d02:c1 serIF0-> <2019-11-14> <15:10:04.488> (ptpd notice) 15:07:57.430771 (slv) msgDebugHeader: sourcePortIdentity.portNumber 1 serIF0-> <2019-11-14> <15:10:04.488> (ptpd notice) 15:07:57.430771 (slv) msgDebugHeader: sequenceId 40 serIF0-> <2019-11-14> <15:10:04.488> (ptpd notice) 15:07:57.431771 (slv) msgDebugHeader: controlField 2 serIF0-> <2019-11-14> <15:10:04.488> (ptpd notice) 15:07:57.431771 (slv) msgDebugHeader: logMessageIntervale -3 serIF0-> <2019-11-14> <15:10:04.489> (ptpd notice) 15:07:57.432771 (slv) msgDebugFollowUp: preciseOriginTimestamp.seconds 1573744076 serIF0-> <2019-11-14> <15:10:04.843> (ptpd notice) 15:07:57.433771 (slv) msgDebugFollowUp: preciseOriginTimestamp.nanoseconds 867618987 serIF0-> <2019-11-14> <15:10:04.843> 2019-11-14 15:07:50.000000, slv 6805cafffe8d02c1(unknown)/01, 0.000000000, -6.867618987, 0.000000000, -6.867618987, 0, S serIF0-> <2019-11-14> <15:10:04.843> (ptpd info) 15:07:57.562771 (slv) updateClock aborted, offset greater than 1 second. (ptpd notice) 15:07:57.563771 (slv) msgDebugHeader: messageType 8 serIF0-> <2019-11-14> <15:10:04.844> (ptpd notice) 15:07:57.564771 (slv) msgDebugHeader: versionPTP 2 serIF0-> <2019-11-14> <15:10:04.844> (ptpd notice) 15:07:57.564771 (slv) msgDebugHeader: messageLength 76 serIF0-> <2019-11-14> <15:10:04.845> (ptpd notice) 15:07:57.565771 (slv) msgDebugHeader: domainNumber 0 serIF0-> <2019-11-14> <15:10:04.845> (ptpd notice) 15:07:57.566771 (slv) msgDebugHeader: flags 00 00 serIF0-> <2019-11-14> <15:10:04.847> (ptpd notice) 15:07:57.566771 (slv) msgDebugHeader: correctionfield 0 serIF0-> <2019-11-14> <15:10:04.847> (ptpd notice) 15:07:57.567771 (slv) msgDebugHeader: sourcePortIdentity.clockIdentity 68:05:ca:ff:fe:8d02:c1 serIF0-> <2019-11-14> <15:10:04.848> (ptpd notice) 15:07:57.568771 (slv) msgDebugHeader: sourcePortIdentity.portNumber 1 serIF0-> <2019-11-14> <15:10:04.848> (ptpd notice) 15:07:57.569771 (slv) msgDebugHeader: sequenceId 41 serIF0-> <2019-11-14> <15:10:04.848> (ptpd notice) 15:07:57.569771 (slv) msgDebugHeader: controlField 2 serIF0-> <2019-11-14> <15:10:04.849> (ptpd notice) 15:07:57.570771 (slv) msgDebugHeader: logMessageIntervale -3 serIF0-> <2019-11-14> <15:10:04.849> (ptpd notice) 15:07:57.571771 (slv) msgDebugFollowUp: preciseOriginTimestamp.seconds 1573744076 serIF0-> <2019-11-14> <15:10:04.849> (ptpd notice) 15:07:57.572771 (slv) msgDebugFollowUp: preciseOriginTimestamp.nanoseconds 992958763 serIF0-> <2019-11-14> <15:10:04.850> 2019-11-14 15:07:50.000000, slv 6805cafffe8d02c1(unknown)/01, 0.000000000, -7.056187237, 0.000000000, -7.056187237, 0, S serIF0-> <2019-11-14> <15:10:04.851> (ptpd info) 15:07:57.674771 (slv) updateClock aborted, offset greater than 1 second. (ptpd notice) 15:07:57.675771 (slv) msgDebugHeader: messageType 8 serIF0-> <2019-11-14> <15:10:04.852> (ptpd notice) 15:07:57.676771 (slv) msgDebugHeader: versionPTP 2 serIF0-> <2019-11-14> <15:10:04.852> (ptpd notice) 15:07:57.676771 (slv) msgDebugHeader: messageLength 76 serIF0-> <2019-11-14> <15:10:04.853> (ptpd notice) 15:07:57.677771 (slv) msgDebugHeader: domainNumber 0 serIF0-> <2019-11-14> <15:10:04.854> (ptpd notice) 15:07:57.677771 (slv) msgDebugHeader: flags 00 00 serIF0-> <2019-11-14> <15:10:04.855> (ptpd notice) 15:07:57.678771 (slv) msgDebugHeader: correctionfield 0 serIF0-> <2019-11-14> <15:10:04.856> (ptpd notice) 15:07:57.679771 (slv) msgDebugHeader: sourcePortIdentity.clockIdentity 68:05:ca:ff:fe:8d02:c1 serIF0-> <2019-11-14> <15:10:04.857> (ptpd notice) 15:07:57.680771 (slv) msgDebugHeader: sourcePortIdentity.portNumber 1 serIF0-> <2019-11-14> <15:10:04.857> (ptpd notice) 15:07:57.681771 (slv) msgDebugHeader: sequenceId 42 serIF0-> <2019-11-14> <15:10:04.858> (ptpd notice) 15:07:57.681771 (slv) msgDebugHeader: controlField 2 serIF0-> <2019-11-14> <15:10:04.859> (ptpd notice) 15:07:57.682771 (slv) msgDebugHeader: logMessageIntervale -3 serIF0-> <2019-11-14> <15:10:04.859> (ptpd notice) 15:07:57.682771 (slv) msgDebugFollowUp: preciseOriginTimestamp.seconds 1573744077 serIF0-> <2019-11-14> <15:10:04.859> (ptpd notice) 15:07:57.683771 (slv) msgDebugFollowUp: preciseOriginTimestamp.nanoseconds 118127707 serIF0-> <2019-11-14> <15:10:04.860> 2019-11-14 15:07:49.936771, slv 6805cafffe8d02c1(unknown)/01, 0.000000000, -7.181356181, 0.000000000, -7.181356181, 0, S serIF0-> <2019-11-14> <15:10:04.860> (ptpd info) 15:07:57.812771 (slv) updateClock aborted, offset greater than 1 second. (ptpd notice) 15:07:57.813771 (slv) msgDebugHeader: messageType 8 serIF0-> <2019-11-14> <15:10:04.861> (ptpd notice) 15:07:57.814771 (slv) msgDebugHeader: versionPTP 2 serIF0-> <2019-11-14> <15:10:04.862> (ptpd notice) 15:07:57.814771 (slv) msgDebugHeader: messageLength 76 serIF0-> <2019-11-14> <15:10:04.862> (ptpd notice) 15:07:57.815771 (slv) msgDebugHeader: domainNumber 0 serIF0-> <2019-11-14> <15:10:04.862> (ptpd notice) 15:07:57.815771 (slv) msgDebugHeader: flags 00 00 serIF0-> <2019-11-14> <15:10:04.863> (ptpd notice) 15:07:57.816771 (slv) msgDebugHeader: correctionfield 0 serIF0-> <2019-11-14> <15:10:04.863> (ptpd notice) 15:07:57.817771 (slv) msgDebugHeader: sourcePortIdentity.clockIdentity 68:05:ca:ff:fe:8d02:c1 serIF0-> <2019-11-14> <15:10:04.864> (ptpd notice) 15:07:57.818771 (slv) msgDebugHeader: sourcePortIdentity.portNumber 1 serIF0-> <2019-11-14> <15:10:04.865> (ptpd notice) 15:07:57.819771 (slv) msgDebugHeader: sequenceId 43 serIF0-> <2019-11-14> <15:10:04.865> (ptpd notice) 15:07:57.819771 (slv) msgDebugHeader: controlField 2 serIF0-> <2019-11-14> <15:10:04.866> (ptpd notice) 15:07:57.820771 (slv) msgDebugHeader: logMessageIntervale -3 serIF0-> <2019-11-14> <15:10:04.866> (ptpd notice) 15:07:57.821771 (slv) msgDebugFollowUp: preciseOriginTimestamp.seconds 1573744077 could that be a bug? Piotr Pasterak 2019-11-19T15:03:42Z post120007: Re: rpcbind got "Permission denied" error. Nick Reilly http://community.qnx.com/sf/go/post120007 2019-09-30T13:30:29Z 2019-09-30T13:30:29Z Two thoughts: 1) Is /var/run on a standard qnx6 type filesystem? Or is it on something else? 2) What permissions is io-pkt running with - are you dropping root or using some other security setup? io-pkt will create the socket in /var/run when rpcbind does the bind() call. Nick Reilly 2019-09-30T13:30:29Z post120004: rpcbind got "Permission denied" error. Song Shizhe(deleted) http://community.qnx.com/sf/go/post120004 2019-09-30T05:48:48Z 2019-09-30T05:48:48Z hi, I am running rpcbind on my board. but got "Permission denied" errors. # ./rpcbind -d rpcbind: Cannot bind `local': Permission denied rpcbind: Failed to open /var/run/rpcbind.sock: Permission denied # ls -l total 6796 -rwx------ 1 root root 56752 Sep 02 2019 rpcbind and /var/run/ also writable: # ls -l /var total 56 drwxrw-rw- 2 root root 4096 Jan 01 00:08 run How can I fix it? thanks. Version: QNX 7.0 Song Shizhe(deleted) 2019-09-30T05:48:48Z post119998: Re: io-pkt avb library API Nick Reilly http://community.qnx.com/sf/go/post119998 2019-09-26T13:08:40Z 2019-09-26T13:08:40Z Hi Mateusz, You will need to have a source code contract in place for us to share source with you. Try logging with the -C flag on the command line to see what is going on. If you post the start of the logs then we may be able to see what the issue is. Regards, Nick Nick Reilly 2019-09-26T13:08:40Z post119997: Re: io-pkt avb library API Mateusz Dziadosz(deleted) http://community.qnx.com/sf/go/post119997 2019-09-26T12:31:59Z 2019-09-26T12:31:59Z Hi Nick, Thanks, I updated software package, now pdpd-avb is working. But I have still problem with synchronization between two processors with QNX7 one act as grand master -G flag and second as slave -g flag. I can see ptp packets on both machines using tcpdump, so it does not seems to be a network issue. Could you share with source code with me or at least version with additional debug messages for aarch64? Thanks, Mateusz Mateusz Dziadosz(deleted) 2019-09-26T12:31:59Z post119955: Re: io-pkt avb library API Nick Reilly http://community.qnx.com/sf/go/post119955 2019-09-18T13:23:05Z 2019-09-18T13:23:05Z Hi Mateusz, We updated ptpd-avb to work directly via BPF and not require lsm-avb.so a while ago. Please reach out to your QNX support contact to obtain the latest version which will contain the fixes for this and other issues. Regards, Nick Nick Reilly 2019-09-18T13:23:05Z post119954: Re: io-pkt avb library API Dean Denter http://community.qnx.com/sf/go/post119954 2019-09-18T13:22:09Z 2019-09-18T13:22:09Z ptpd-avb has been updated in recent patches to removed dependency on lsm-avb.so -- you should also update your install to pick up the latest set of patches since there have been many fixes released recently in 7.0 for ptpd & ptpd-avb. There is no need to specify the -e option for s/w ptp -- ptpd-avb (and ptpd) will detect that h/w ptp support is not available in the driver and run in s/w mode. If you have logging enabled, there should be a "hardware time support = 0," log shortly after starting ptpd-avb. example of s/w support startup (no ptp master connected to this target board), s/w mode log is the 1st (init) log on line 7: # ptpd-avb -gCKb rt0 (ptpd info) 13:06:30.341176 (___) (ptpd info) 13:06:30.342176 (___) Starting ptpd2 daemon with parameters: ptpd-avb -gCKb rt0 (ptpd info) 13:06:30.343176 (___) Info: Going to check lock /dev/shmem/ptpd_lock (ptpd info) 13:06:30.344176 (___) Info: Startup finished sucessfully # Timestamp, State, Clock ID, One Way Delay, Offset From Master, Slave to Master, Master to Slave, Drift, Last packet Received 2019-09-18 13:06:30.345176, init (ptpd notice) 13:06:30.346176 (init) hardware time support = 0, (ptpd info) 13:06:30.347176 (init) now in state PTP_LISTENING 2019-09-18 13:06:30.347176, lstn_init 1 (ptpd info) 13:06:33.348137 (lstn_init) now in state PTP_LISTENING 2019-09-18 13:06:33.348137, lstn_init 1 Dean Denter 2019-09-18T13:22:09Z post119953: Re: io-pkt avb library API Mateusz Dziadosz(deleted) http://community.qnx.com/sf/go/post119953 2019-09-18T13:07:35Z 2019-09-18T13:07:35Z Hello, Could you help with running ptpd-avb in "software mode" for ? I am running QNX 7, when I trying to run ptpd-avb I am getting error because of lack lsm-avb.so: (init) Open on /dev/socket/avb/fec0/time failed Options: -e run in ethernet mode (level2) is not implemented in ptpd-avb Should I use other implementation of ptpd to do that? Thanks Mateusz Dziadosz(deleted) 2019-09-18T13:07:35Z post119825: unable to initialise io-display Kok Keong Neo(deleted) http://community.qnx.com/sf/go/post119825 2019-08-23T07:40:52Z 2019-08-23T07:40:52Z Hi I am having issues in io-display to start photon. When i use io-display to initialise the VGA display, it say no such device found I use pci -v to display the PCI device, my VGA display is listed as vid=0x8086,did=0x1912 What am I doing wrong? Any suggestions? Thank you io-display -dvid=0x8086,did=0x1912 Could not initialize device "vid=0x8086,did=0x1912": No such device Check 'sloginfo' output for more details io-display failed to initialise Class = Display (VGA) Vendor ID = 8086h, Intel Corporation Device ID = 1912h, Unknown Unknown PCI index = 0h Class Codes = 030000h Revision ID = 6h Bus number = 0 Device number = 2 Function num = 0 Status Reg = 10h Command Reg = 7h Header type = 0h Single-function BIST = 0h Build-in-self-test not supported Latency Timer = 0h Cache Line Size= 10h un-cacheable BAR - 0 [Mem] = de000000h 64bit length 16777216 enabled BAR - 2 [Mem] = c0000000h prefetchable 64bit length 268435456 enabled BAR - 4 [I/O] = f000h length 64 enabled Subsystem Vendor ID = 8086h Subsystem ID = 2015h Max Lat = 0ns Min Gnt = 0ns PCI Int Pin = INT A Interrupt line = 9 CPU Interrupt = 9h Capabilities Pointer = 40h Capability ID = 9h - Vendor Specific Capabilities = 10ch - 62016671h Capability ID = 10h - PCI Express Capabilities = 92h - 10008000h Capability ID = 5h - Message Signaled Interrupts Capabilities = 0h - 0h Capability ID = 1h - Power Management Capabilities = 22h - 0h Class = System Peripherals (Other) Vendor ID = 8086h, Intel Corporation Device ID = 1911h, Unknown Unknown PCI index = 0h Class Codes = 088000h Revision ID = 0h Bus number = 0 Device number = 8 Function num = 0 Status Reg = 10h Command Reg = 6h Header type = 0h Single-function BIST = 0h Build-in-self-test not supported Latency Timer = 0h Cache Line Size= 10h un-cacheable BAR - 0 [Mem] = df716000h 64bit length 4096 enabled Subsystem Vendor ID = 8086h Subsystem ID = 2015h Max Lat = 0ns Min Gnt = 0ns PCI Int Pin = INT A Interrupt line = 9 CPU Interrupt = 9h Capabilities Pointer = 90h Capability ID = 5h - Message Signaled Interrupts Capabilities = 0h - 0h Capability ID = 1h - Power Management Capabilities = 2h - 0h Capability ID = 13h - Unknown Capabilities = 306h - 0h Kok Keong Neo(deleted) 2019-08-23T07:40:52Z post119602: snmpd usage mario sangalli http://community.qnx.com/sf/go/post119602 2019-03-25T11:45:29Z 2019-03-25T11:45:29Z Hi, I need to get the default snmpd (on QNX65) running .... Has anyone used such server? I found some difficult to understand how to configure the server: it is also not clear the usage of library and its api: can be used to write some agents that can be interfaced to snmpd ? Cheers, Mario mario sangalli 2019-03-25T11:45:29Z post119446: Re: Get default gateway in C Benjamin Richner(deleted) http://community.qnx.com/sf/go/post119446 2019-01-24T10:25:31Z 2019-01-24T10:25:31Z Thanks, Will. I'll take a look into that script. We have significant vendor-lock-in with QNX so we will not be migrating anytime soon, probably. Our systems run fairly stable now so I am not that unhappy with it at the moment. Benjamin Richner(deleted) 2019-01-24T10:25:31Z post119445: Re: Get default gateway in C Will Miles http://community.qnx.com/sf/go/post119445 2019-01-23T19:24:57Z 2019-01-23T19:24:57Z Hi Benjamin, On 2019-01-23 4:23 a.m., Benjamin Richner wrote: > To mitigate the floods we (a) set the runmask on all of our real-time components to lock them to the first core; and then (b) use 'slay -i -C 0' to also lock procnto's non-idle threads to that core as well. By locking procnto's threads, we ensure that CPU 0 can never be flooded out as it's always the *source* of the TLB flush interrupts > That's clever. We did (a) because it makes timing much more stable, but we did not know about (b). For posterity, I've attached the OpenRC init.d script we use that does (b). Note it loops until it confirms that all threads have the right runmask, because sometimes they come and go during the operation. > >> I haven't tried it myself -- unfortunately we've still got too much Photon code to migrate to something else before we can look at making that jump. > Didn't you already have to get rid of Photon when using QNX6.6? For graphics I can recommend Crank Storyboard. It's solid cross-platform software with various renderers (hardware OpenGL based, software, etc). It's pretty cheap too. It is supported both on photon and screen based QNX versions. Ironically in this context, QNX has generally been pretty good about arranging that binaries compiled for the previous release just work on the new one. I just boxed up Photon from 6.5 (including the io-graphics framework and drivers) into a package we could deploy on our 6.6 platform. It seems to works as well as it ever did in 6.5 (which is to say, there are still bugs that have to be worked around, but it gets the job done). Truthfully we're looking at migrating away from QNX for our future human interfaces; currently we're looking at commodity tablets running commodity operating systems. The goal being that we can focus on writing the UI using FOSS tools without getting bogged down in graphics driver woes or display signal timing issues anymore. > Anyway, we cannot go up to QNX7.0 because of old ethernet, wlan and graphics drivers for the old hardware that do not exist on QNX7.0 and cost a fortune to port (they're mostly closed source to us, otherwise I'd do it myself). The entire thing is unfortunate because I ported everything else to QNX7.0 and it's generally running well. The biggest change is that they completely reworked the PCI server - that cost me the most time. Yeah, I looked over some of the beta release of the new PCI server. I can certainly understand the need for it -- I had to patch in additional IRQ routing capabilities for our hardware to the old server and I can appreciate the desire to reorganize. I'm not looking forward to making the jump; right now our current system is a single platform image using enum-devices to self-configure for whatever hardware it lands on, so we'll either have to build out a new device detection framework or completely rethink how we deploy. -Will Will Miles 2019-01-23T19:24:57Z post119438: Re: Get default gateway in C Benjamin Richner(deleted) http://community.qnx.com/sf/go/post119438 2019-01-23T09:23:26Z 2019-01-23T09:23:26Z Hey Will, > For me, it was a long and sordid tale of woe about trying to track down why a hardware driver we wrote for QNX 6.3 failed to meet its targets on a new multicore SBC using QNX 6.6. I spent a lot of time with tracelogger trying to pin down what was causing the mysterious delays. We have the exact same problem with our EtherCAT driver. We updated from QNX6.5 to QNX6.6. We do not start or stop any processes anymore and that helped (no more massive TLB flush storms), but the controller is still not as stable as it used to be. > and Samba loves to create and destroy processes with a zillion shared objects, so I saw a lot of these TLB flush floods in my traces. What a nightmare. > I don't know if it affects other architectures, so far we're still an x86-only shop here. We are also x86-only but from what I've heard so far, it seems like it happens on all SMP versions of QNX6.6. They said they fixed a race condition that was present in the QNX6.5 kernel, and the fix is causing those TLB flushes. So basically they had to sacrifice responsiveness for correctness. I do not know how QNX7.0 performs in those regards. > To be fair, I still have an old copy of the QNX 6.4 kernel sources from way back before BB screwed up all the policies I wish I did too. I don't have any kernel source. Sometimes I look into openqnx on github, but it's old and doesn't map that well onto the newer kernels anymore. >To mitigate the floods we (a) set the runmask on all of our real-time components to lock them to the first core; and then (b) use 'slay -i -C 0' to also lock procnto's non-idle threads to that core as well. By locking procnto's threads, we ensure that CPU 0 can never be flooded out as it's always the *source* of the TLB flush interrupts That's clever. We did (a) because it makes timing much more stable, but we did not know about (b). > I haven't tried it myself -- unfortunately we've still got too much Photon code to migrate to something else before we can look at making that jump. Didn't you already have to get rid of Photon when using QNX6.6? For graphics I can recommend Crank Storyboard. It's solid cross-platform software with various renderers (hardware OpenGL based, software, etc). It's pretty cheap too. It is supported both on photon and screen based QNX versions. Anyway, we cannot go up to QNX7.0 because of old ethernet, wlan and graphics drivers for the old hardware that do not exist on QNX7.0 and cost a fortune to port (they're mostly closed source to us, otherwise I'd do it myself). The entire thing is unfortunate because I ported everything else to QNX7.0 and it's generally running well. The biggest change is that they completely reworked the PCI server - that cost me the most time. Cheers, Benjamin Benjamin Richner(deleted) 2019-01-23T09:23:26Z post119437: Re: Get default gateway in C Will Miles http://community.qnx.com/sf/go/post119437 2019-01-22T18:01:09Z 2019-01-22T18:01:09Z For me, it was a long and sordid tale of woe about trying to track down why a hardware driver we wrote for QNX 6.3 failed to meet its targets on a new multicore SBC using QNX 6.6. I spent a lot of time with tracelogger trying to pin down what was causing the mysterious delays. (In the end, I never did mange to solve it -- it seemed like there's some kind of intermittent PCIe root complex stall with that board. When it gets stuck, the other core can still access RAM, but any attempt to perform memory-mapped IO through any PCIe port would also stall.) Anyhow, we run Samba on our target boards to provide easy file transfers for Windows clients; and Samba loves to create and destroy processes with a zillion shared objects, so I saw a lot of these TLB flush floods in my traces. I can't speak for other customers, but I imagine that pretty much anyone with a multicore x86 system who catches a process destruction in tracelogger would've seen it. I don't know if it affects other architectures, so far we're still an x86-only shop here. To be fair, I still have an old copy of the QNX 6.4 kernel sources from way back before BB screwed up all the policies, and that was somewhat helpful for understanding what the IPI was meant to be doing. To mitigate the floods we (a) set the runmask on all of our real-time components to lock them to the first core; and then (b) use 'slay -i -C 0' to also lock procnto's non-idle threads to that core as well. By locking procnto's threads, we ensure that CPU 0 can never be flooded out as it's always the *source* of the TLB flush interrupts; those procnto threads will just be preempted by a real-time thread when needed. It's hardly ideal -- essentially only the one core can be treated as real-time, and there's a performance penalty introduced with every procnto call on other cores -- but at least we get one core that we can still rely on. For posterity's sake, I'd also like to note here that I recall reading that QNX 7.0 had a major rewrite of the memory manager, so it's quite possible this issue has been fixed in the current release. I haven't tried it myself -- unfortunately we've still got too much Photon code to migrate to something else before we can look at making that jump. -Will Will Miles 2019-01-22T18:01:09Z post119432: Re: Get default gateway in C Benjamin Richner(deleted) http://community.qnx.com/sf/go/post119432 2019-01-22T12:41:40Z 2019-01-22T12:41:40Z Just as a small followup: I got it to work. The following GitHub repo was a great help: https://github.com/k84d/unpv13e/blob/master/libroute/net_rt_dump.c The API calls can be copied verbatim and it works in QNX. Cool! Benjamin Richner(deleted) 2019-01-22T12:41:40Z post119430: Re: Get default gateway in C Benjamin Richner(deleted) http://community.qnx.com/sf/go/post119430 2019-01-22T08:06:15Z 2019-01-22T08:06:15Z Hi Nick, Thanks for your answer, it's really helpful. I'll try your approaches. -Benjamin Benjamin Richner(deleted) 2019-01-22T08:06:15Z post119429: Re: Get default gateway in C Benjamin Richner(deleted) http://community.qnx.com/sf/go/post119429 2019-01-22T08:04:59Z 2019-01-22T08:04:59Z Hi Will, Yes, that's it, exactly. How do you know about the TLB flushes? Is this common knowledge? It took us a lot of digging and debugging to find out about it. -Benjamin Benjamin Richner(deleted) 2019-01-22T08:04:59Z post119428: Re: Get default gateway in C Will Miles http://community.qnx.com/sf/go/post119428 2019-01-21T21:44:53Z 2019-01-21T21:44:53Z > > a QNX kernel engineer told us we cannot start or kill threads at runtime if > we > > Correction: cannot start or kill processes* Sorry to derail your question, but I'm curious about what problems you were running in to with process management. Does this have to do with a IPI_TLB_FLUSH flood on a multicore system? -Will Will Miles 2019-01-21T21:44:53Z post119427: Re: Get default gateway in C Nick Reilly http://community.qnx.com/sf/go/post119427 2019-01-21T16:24:43Z 2019-01-21T16:24:43Z There are 2 different possibilities. Either open a routing socket and send an RTM_GET message or issue a sysctl for: mib[0] = CTL_NET; mib[1] = PF_ROUTE; mib[2] = 0; mib[3] = 0; mib[4] = NET_RT_DUMP; mib[5] = 0; Probably best to do the RTM_GET because then you can just get the default gateway rather than dumping the entire table and then having to parse out the default gateway. Nick Reilly 2019-01-21T16:24:43Z post119426: Re: Get default gateway in C Benjamin Richner(deleted) http://community.qnx.com/sf/go/post119426 2019-01-21T12:47:37Z 2019-01-21T12:47:37Z > a QNX kernel engineer told us we cannot start or kill threads at runtime if we Correction: cannot start or kill processes* Benjamin Richner(deleted) 2019-01-21T12:47:37Z post119425: Get default gateway in C Benjamin Richner(deleted) http://community.qnx.com/sf/go/post119425 2019-01-21T12:43:31Z 2019-01-21T12:43:31Z Hi, I need to get the default gateway (on QNX6.6) and display it live on our display. With "netstat -rn" I can easily get the default gateway, but I need to do it programmatically in C. A simple approach would be to just do a string search on the stdout of "netstat -rn" and find the default gateway. However, our realtime system is really sensitive and easily disturbed by activities like starting and killing processes (this is a whole different story, bottom line, a QNX kernel engineer told us we cannot start or kill threads at runtime if we ever want stable timings). So, is there a way to get the current default gateway, e.g. with ioctl, without launching route or netstat? I found some solutions online but they are Linux only. Cheers, Benjamin Benjamin Richner(deleted) 2019-01-21T12:43:31Z post119344: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119344 2018-12-05T08:20:36Z 2018-12-05T08:20:36Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119338 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119339 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119340 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119341 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119342 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119343 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:36Z post119345: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119345 2018-12-05T08:20:36Z 2018-12-05T08:20:36Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119338 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119339 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119340 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119341 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119342 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119343 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119344 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:36Z post119343: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119343 2018-12-05T08:20:35Z 2018-12-05T08:20:35Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119338 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119339 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119340 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119341 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119342 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:35Z post119342: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119342 2018-12-05T08:20:34Z 2018-12-05T08:20:34Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119338 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119339 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119340 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119341 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:34Z post119341: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119341 2018-12-05T08:20:33Z 2018-12-05T08:20:33Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119338 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119339 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119340 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:33Z post119340: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119340 2018-12-05T08:20:32Z 2018-12-05T08:20:32Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119338 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119339 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:32Z post119339: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119339 2018-12-05T08:20:31Z 2018-12-05T08:20:31Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119338 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:31Z post119338: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119338 2018-12-05T08:20:30Z 2018-12-05T08:20:30Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119337 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:30Z post119337: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119337 2018-12-05T08:20:29Z 2018-12-05T08:20:29Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119336 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:29Z post119336: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119336 2018-12-05T08:20:28Z 2018-12-05T08:20:28Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119335 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:28Z post119335: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119335 2018-12-05T08:20:24Z 2018-12-05T08:20:24Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119334 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:24Z post119334: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119334 2018-12-05T08:20:23Z 2018-12-05T08:20:23Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119333 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:23Z post119333: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119333 2018-12-05T08:20:21Z 2018-12-05T08:20:21Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119332 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:21Z post119332: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119332 2018-12-05T08:20:20Z 2018-12-05T08:20:20Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119331 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:20Z post119331: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119331 2018-12-05T08:20:19Z 2018-12-05T08:20:19Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119330 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:19Z post119330: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119330 2018-12-05T08:20:18Z 2018-12-05T08:20:18Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119329 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:18Z post119329: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119329 2018-12-05T08:20:17Z 2018-12-05T08:20:17Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119328 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:17Z post119328: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119328 2018-12-05T08:20:17Z 2018-12-05T08:20:17Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119327 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:17Z post119327: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119327 2018-12-05T08:20:16Z 2018-12-05T08:20:16Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119326 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:16Z post119325: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119325 2018-12-05T08:20:10Z 2018-12-05T08:20:10Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:10Z post119326: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119326 2018-12-05T08:20:10Z 2018-12-05T08:20:10Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119324 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119325 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:10Z post119324: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119324 2018-12-05T08:20:09Z 2018-12-05T08:20:09Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119323 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:09Z post119323: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119323 2018-12-05T08:20:08Z 2018-12-05T08:20:08Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119322 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:08Z post119322: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119322 2018-12-05T08:20:07Z 2018-12-05T08:20:07Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119321 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:07Z post119321: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119321 2018-12-05T08:20:06Z 2018-12-05T08:20:06Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119320 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:06Z post119320: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119320 2018-12-05T08:20:05Z 2018-12-05T08:20:05Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119319 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:05Z post119319: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119319 2018-12-05T08:20:04Z 2018-12-05T08:20:04Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119318 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:04Z post119318: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119318 2018-12-05T08:20:04Z 2018-12-05T08:20:04Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post119317 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:04Z post119317: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119317 2018-12-05T08:20:03Z 2018-12-05T08:20:03Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } _______________________________________________ General http://community.qnx.com/sf/go/post119316 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Parthiban Chinnathambi(deleted) 2018-12-05T08:20:03Z post119316: FILE EXISTS error on setting IPV4 address using ioctl Parthiban Chinnathambi(deleted) http://community.qnx.com/sf/go/post119316 2018-12-05T08:20:01Z 2018-12-05T08:20:01Z Hi, I am getting a File exists error on using the SIOCSIFADDR ioctl command to set IP address ,but the IP address is changed to the requested value. Why the error occurs? bool setIpv4Address(std::string interfaceName,std::string ipAddr) { struct sockaddr_in sin; int sockFd; std::string Ip; struct ifreq ifr; bool retStatus; memset(&ifr, 0x00, sizeof(ifr)); memset(&sin, 0x00, sizeof(sin)); retStatus = true; sin.sin_family = AF_INET; sin.sin_len = sizeof(sin); /// check valid ip if (inet_aton(&ipAddr[0], &sin.sin_addr) == 0) { retStatus = false; } else { /// Create socket for INET and update the address information. memset(&ifr, 0x00, sizeof(ifr)); strcpy(ifr.ifr_name, &interfaceName[0]); memcpy(&ifr.ifr_addr, &sin, sizeof(ifr.ifr_addr)); if ((sockFd = socket(AF_INET, SOCK_DGRAM, 0)) != -1) { /// Set IP address using SIOCSIFADDR ioctl flag. if (ioctl(sockFd, SIOCSIFADDR, &ifr) != -1) { /// Set Interface Up /// Get ifreq.flags ioctl(sockFd, SIOCGIFFLAGS, &ifr); ifr.ifr_flags |= (IFF_UP| IFF_RUNNING); if(ioctl(sockFd, SIOCSIFFLAGS, &ifr) == -1) { perror("Interface link status change failed"); retStatus = false; } } else { perror("setIpv4Address Setting IPV4 address Error :"); retStatus = false; } } else { perror("Socket creation failed "); retStatus = false; } close (sockFd); } return retStatus; } Parthiban Chinnathambi(deleted) 2018-12-05T08:20:01Z post119280: Re: io-pkt avb library API Nick Reilly http://community.qnx.com/sf/go/post119280 2018-11-08T15:10:58Z 2018-11-08T15:10:58Z lsm-avb.so implements a very limited subset of the full AVB stack, and there are 3rd parties offering other AVB stacks on QNX. At this point lsm-avb.so is deprecated and so will be removed in future versions. I would advise you to investigate these other AVB stacks for any future projects. QNX does support an 802.1AS implementation in "ptpd-avb". While initial versions of ptpd-avb required lsm-avb.so, ptpd-avb has now been decoupled from lsm-avb.so and supports 802.1AS without any need for lsm-avb.so. N.B. For true 802.1AS support you will require both hardware that supports the PTP timestamping and a driver implementing this timestamping for ptpd-avb to function properly. In the absence of these, ptpd-avb will function in a very limited "software" mode, running off the main system timer with the limited precision of the system tick (1ms by default). With a true hardware PTP clock and timestamping network driver, far better precision is available better than 1us - typically a few hundred ns, may be better depending on actual hardware. You are also free to use any 3rd party 802.1AS implementation that comes with a 3rd party AVB stack. For further information I would advise you to contact your official QNX support contact directly. AVB is a very demanding set of protocols and while we have customers shipping successful deployments of AVB, if you are new to QNX it can be challenging. Nick Reilly 2018-11-08T15:10:58Z post119279: Re: io-pkt avb library API bhavya ramu(deleted) http://community.qnx.com/sf/go/post119279 2018-11-08T13:49:42Z 2018-11-08T13:49:42Z Does lsm_avb.so has implementation of gPTP IEEE 802.1AS? I am new to qnx OS. We have a requirement to support ethernet AVB on QNX platform. Currently we have gPTP module for linux platform, which uses packet concept for communicating directly to layer 2 but this mechanism is not available in QNX OS. Please let me know if there is any reference manual available for understanding usage of lsm_avb.so. Thanks. bhavya ramu(deleted) 2018-11-08T13:49:42Z post119272: Re: How to retrieve PHY status, counter up/down to debug network issue Hugh Brown http://community.qnx.com/sf/go/post119272 2018-10-30T18:25:04Z 2018-10-30T18:25:04Z No, it isn't possible. On 2018-10-30, 2:08 PM, "Chris Liang" <community-noreply@qnx.com> wrote: unfortunately, I don't have the driver source code. Is possible retrieve the those register status from devctls call? Thanks _______________________________________________ General http://community.qnx.com/sf/go/post119271 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Hugh Brown 2018-10-30T18:25:04Z post119271: Re: How to retrieve PHY status, counter up/down to debug network issue Chris Liang(deleted) http://community.qnx.com/sf/go/post119271 2018-10-30T18:23:40Z 2018-10-30T18:23:40Z unfortunately, I don't have the driver source code. Is possible retrieve the those register status from devctls call? Thanks Chris Liang(deleted) 2018-10-30T18:23:40Z post119270: Re: How to retrieve PHY status, counter up/down to debug network issue Hugh Brown http://community.qnx.com/sf/go/post119270 2018-10-30T17:59:27Z 2018-10-30T17:59:27Z It should be in the driver source code. On 2018-10-30, 1:42 PM, "Chris Liang" <community-noreply@qnx.com> wrote: what source code is this mdi_callback? _______________________________________________ General http://community.qnx.com/sf/go/post119269 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Hugh Brown 2018-10-30T17:59:27Z post119269: Re: How to retrieve PHY status, counter up/down to debug network issue Chris Liang(deleted) http://community.qnx.com/sf/go/post119269 2018-10-30T17:57:59Z 2018-10-30T17:57:59Z what source code is this mdi_callback? Chris Liang(deleted) 2018-10-30T17:57:59Z post119268: Re: How to retrieve PHY status, counter up/down to debug network issue Hugh Brown http://community.qnx.com/sf/go/post119268 2018-10-30T17:49:54Z 2018-10-30T17:49:54Z Take a look at the mdi_callback routine, which gets called for PHY up/down events. This routine is most probably poking some registers. On 2018-10-30, 1:32 PM, "Chris Liang" <community-noreply@qnx.com> wrote: Thank you very much. I saw the link is still up during the fault state(suddenly no ping, no udp/tcp). Once I unplug ethernet cable and plug back in. everything works fine. Any idea what could cause it or what should I look for? Thanks _______________________________________________ General http://community.qnx.com/sf/go/post119267 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Hugh Brown 2018-10-30T17:49:54Z post119267: Re: How to retrieve PHY status, counter up/down to debug network issue Chris Liang(deleted) http://community.qnx.com/sf/go/post119267 2018-10-30T17:47:15Z 2018-10-30T17:47:15Z Thank you very much. I saw the link is still up during the fault state(suddenly no ping, no udp/tcp). Once I unplug ethernet cable and plug back in. everything works fine. Any idea what could cause it or what should I look for? Thanks Chris Liang(deleted) 2018-10-30T17:47:15Z post119266: Re: How to retrieve PHY status, counter up/down to debug network issue Hugh Brown http://community.qnx.com/sf/go/post119266 2018-10-30T17:34:50Z 2018-10-30T17:34:50Z I have attached the source code for nicinfo to this email. Hugh. On 2018-10-30, 12:56 PM, "Chris Liang" <community-noreply@qnx.com> wrote: Hi Hugh, Thanks for replying. driver is ppc405-ep440c which is special made for us by qnx. if I do # nicinfo -vr en0 it gives en0: PPC4xx on-chip EMAC Ethernet Controller Physical Node ID ........................... 0002B3 8AF300 Current Physical Node ID ................... 001747 20027E Current Operation Rate ..................... 100.00 Mb/s full-duplex Active Interface Type ...................... MII Active PHY address ....................... 0 Maximum Transmittable data Unit ............ 1514 Maximum Receivable data Unit ............... 0 Hardware Interrupt ......................... 0xb Promiscuous Mode ........................... Off Multicast Support .......................... Enabled Packets Transmitted OK ..................... 417532444 Bytes Transmitted OK ....................... 602801382921 Memory Allocation Failures on Transmit ..... 0 Packets Received OK ........................ 313016415 Bytes Received OK .......................... 131288086572 Broadcast Packets Received OK .............. 0 Multicast Packets Received OK .............. 0 Memory Allocation Failures on Receive ...... 0 Single Collisions on Transmit .............. 0 Late Collision on Transmit errors .......... 0 Transmits aborted (excessive collisions) ... 0 Transmit Underruns ......................... 0 No Carrier on Transmit ..................... 0 Receive Alignment errors ................... 0 Received packets with CRC errors ........... 0 Packets Dropped on receive ................. 0 Oversized Packets received ................. 0 Short packets .............................. 0 Squelch Test errors ........................ 0 as you see, there is no showing link up/down info. BTW, is there any API or system call i can use to retrieve those information in my program? Thank you again. _______________________________________________ General http://community.qnx.com/sf/go/post119264 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Hugh Brown 2018-10-30T17:34:50Z post119265: Re: How to retrieve PHY status, counter up/down to debug network issue Hugh Brown http://community.qnx.com/sf/go/post119265 2018-10-30T17:19:12Z 2018-10-30T17:19:12Z Hi Chris, The nicinfo output shows that the link is up (100.00 Mb/s full-duplex). If the link was down, the nicinfo output should show 0 Mb/s. You can prove this by unplugging the link and then running nicinfo again. As far as getting this information in your program, you would have to send the driver certain devctls, so I will have to see if there is some documentation on this. Hugh. On 2018-10-30, 12:56 PM, "Chris Liang" <community-noreply@qnx.com> wrote: Hi Hugh, Thanks for replying. driver is ppc405-ep440c which is special made for us by qnx. if I do # nicinfo -vr en0 it gives en0: PPC4xx on-chip EMAC Ethernet Controller Physical Node ID ........................... 0002B3 8AF300 Current Physical Node ID ................... 001747 20027E Current Operation Rate ..................... 100.00 Mb/s full-duplex Active Interface Type ...................... MII Active PHY address ....................... 0 Maximum Transmittable data Unit ............ 1514 Maximum Receivable data Unit ............... 0 Hardware Interrupt ......................... 0xb Promiscuous Mode ........................... Off Multicast Support .......................... Enabled Packets Transmitted OK ..................... 417532444 Bytes Transmitted OK ....................... 602801382921 Memory Allocation Failures on Transmit ..... 0 Packets Received OK ........................ 313016415 Bytes Received OK .......................... 131288086572 Broadcast Packets Received OK .............. 0 Multicast Packets Received OK .............. 0 Memory Allocation Failures on Receive ...... 0 Single Collisions on Transmit .............. 0 Late Collision on Transmit errors .......... 0 Transmits aborted (excessive collisions) ... 0 Transmit Underruns ......................... 0 No Carrier on Transmit ..................... 0 Receive Alignment errors ................... 0 Received packets with CRC errors ........... 0 Packets Dropped on receive ................. 0 Oversized Packets received ................. 0 Short packets .............................. 0 Squelch Test errors ........................ 0 as you see, there is no showing link up/down info. BTW, is there any API or system call i can use to retrieve those information in my program? Thank you again. _______________________________________________ General http://community.qnx.com/sf/go/post119264 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Hugh Brown 2018-10-30T17:19:12Z post119264: Re: How to retrieve PHY status, counter up/down to debug network issue Chris Liang(deleted) http://community.qnx.com/sf/go/post119264 2018-10-30T17:11:40Z 2018-10-30T17:11:40Z Hi Hugh, Thanks for replying. driver is ppc405-ep440c which is special made for us by qnx. if I do # nicinfo -vr en0 it gives en0: PPC4xx on-chip EMAC Ethernet Controller Physical Node ID ........................... 0002B3 8AF300 Current Physical Node ID ................... 001747 20027E Current Operation Rate ..................... 100.00 Mb/s full-duplex Active Interface Type ...................... MII Active PHY address ....................... 0 Maximum Transmittable data Unit ............ 1514 Maximum Receivable data Unit ............... 0 Hardware Interrupt ......................... 0xb Promiscuous Mode ........................... Off Multicast Support .......................... Enabled Packets Transmitted OK ..................... 417532444 Bytes Transmitted OK ....................... 602801382921 Memory Allocation Failures on Transmit ..... 0 Packets Received OK ........................ 313016415 Bytes Received OK .......................... 131288086572 Broadcast Packets Received OK .............. 0 Multicast Packets Received OK .............. 0 Memory Allocation Failures on Receive ...... 0 Single Collisions on Transmit .............. 0 Late Collision on Transmit errors .......... 0 Transmits aborted (excessive collisions) ... 0 Transmit Underruns ......................... 0 No Carrier on Transmit ..................... 0 Receive Alignment errors ................... 0 Received packets with CRC errors ........... 0 Packets Dropped on receive ................. 0 Oversized Packets received ................. 0 Short packets .............................. 0 Squelch Test errors ........................ 0 as you see, there is no showing link up/down info. BTW, is there any API or system call i can use to retrieve those information in my program? Thank you again. Chris Liang(deleted) 2018-10-30T17:11:40Z post119263: Re: How to retrieve PHY status, counter up/down to debug network issue Hugh Brown http://community.qnx.com/sf/go/post119263 2018-10-30T16:59:28Z 2018-10-30T16:59:28Z If you run "nicinfo" it should tell you whether the link is up or down. It will also show you the send and receive packet counters. Which driver is this? On 2018-10-30, 12:34 PM, "Chris Liang" <community-noreply@qnx.com> wrote: Hi all, Currently, I have an issue of network controller eth0 that suddenly becomes non-responsive, cannot ping, no UDP/TCP. It disappears from network. Our product is running on QNX(6.4). At the power up, after proper configuring stage, our product is sending UDP broadcasting packages to the network. Everything is fine. I saw UDP/TCP on the wireshark trace and I can ping the system within the network. Suddenly, it disappears from network. I cannot ping it, no more UDP/TCP showing on the wireshark. Instead remote machines sends ARP to the network. It can be fixed just be pull out the Ethernet cable and plug back in. I don't know what is causing it. it seems the network driver goes to some weird state. I would like to debug deeper on the network stack. How should I get the PHY status, counter up/down, etc? Hope I can get some help from this site. Thanks in advance.. _______________________________________________ General http://community.qnx.com/sf/go/post119262 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Hugh Brown 2018-10-30T16:59:28Z post119262: How to retrieve PHY status, counter up/down to debug network issue Chris Liang(deleted) http://community.qnx.com/sf/go/post119262 2018-10-30T16:49:31Z 2018-10-30T16:49:31Z Hi all, Currently, I have an issue of network controller eth0 that suddenly becomes non-responsive, cannot ping, no UDP/TCP. It disappears from network. Our product is running on QNX(6.4). At the power up, after proper configuring stage, our product is sending UDP broadcasting packages to the network. Everything is fine. I saw UDP/TCP on the wireshark trace and I can ping the system within the network. Suddenly, it disappears from network. I cannot ping it, no more UDP/TCP showing on the wireshark. Instead remote machines sends ARP to the network. It can be fixed just be pull out the Ethernet cable and plug back in. I don't know what is causing it. it seems the network driver goes to some weird state. I would like to debug deeper on the network stack. How should I get the PHY status, counter up/down, etc? Hope I can get some help from this site. Thanks in advance.. Chris Liang(deleted) 2018-10-30T16:49:31Z post119177: RE: Error in the final launch sequense John Kearney http://community.qnx.com/sf/go/post119177 2018-10-01T11:14:17Z 2018-10-01T11:14:17Z This means that you have built a so(shared object) and are trying to directly execute to. Either you should build it as an executable, or run the program that uses the shared object to debug it. ________________________________________ From: Juan Martinez [community-noreply@qnx.com] Sent: Monday, October 01, 2018 13:11 To: general-networking Subject: Error in the final launch sequense I cannot debug any file. I just have this error message Somebody please help me _______________________________________________ General http://community.qnx.com/sf/go/post119176 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com John Kearney 2018-10-01T11:14:17Z post119176: Error in the final launch sequense Juan Martinez(deleted) http://community.qnx.com/sf/go/post119176 2018-10-01T11:11:04Z 2018-10-01T11:11:04Z I cannot debug any file. I just have this error message Somebody please help me Juan Martinez(deleted) 2018-10-01T11:11:04Z post119169: How to disable neighbour solicitation message in QNX? jashitha kp(deleted) http://community.qnx.com/sf/go/post119169 2018-10-01T08:41:54Z 2018-10-01T08:41:54Z Hello, Is there any way to disable the neighbour solicitation message sending out from a device I currently want to disable sending the neighbour solicitation messages from the device, I do see the other device(target device) ipv6 and mac getting added in ndp table. Even then the device is sending the solicitation messages to the other device. According to my understanding if the targeted device MAC and IPV6 address is getting added in the ndp entry the source device should not send the solicitation message either. Is that correct. Please correct me if I am wrong. Please suggest if there is any option to disable the neighbour solicitation message in QNX. Thanks in advance Regards, Jashitha jashitha kp(deleted) 2018-10-01T08:41:54Z post119048: Choosing cellular modem Sahil Shah(deleted) http://community.qnx.com/sf/go/post119048 2018-08-13T22:23:52Z 2018-08-13T22:23:52Z Hi, We need to choose a cellular module that is compatible with QNX. We are using QNX SDP 7 and our target platform is ARM7. Are there any vendors for which QNX already provides the driver. Thanks, Sahil Sahil Shah(deleted) 2018-08-13T22:23:52Z post119034: Re: How to disable neighbor discovery Nick Reilly http://community.qnx.com/sf/go/post119034 2018-08-02T14:16:49Z 2018-08-02T14:16:49Z # ifconfig vt0 vt0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 capabilities rx=1f<IP4CSUM,TCP4CSUM,UDP4CSUM,TCP6CSUM,UDP6CSUM> capabilities tx=7e<TCP4CSUM,UDP4CSUM,TCP6CSUM,UDP6CSUM,TSO4,TSO6> enabled rx=1f<IP4CSUM,TCP4CSUM,UDP4CSUM,TCP6CSUM,UDP6CSUM> enabled tx=0 address: 52:54:00:20:64:23 media: Ethernet autoselect status: active inet 192.168.122.102 netmask 0xffffff00 broadcast 192.168.122.255 inet6 fe80::5054:ff:fe20:6423%vt0 prefixlen 64 scopeid 0x11 inet6 2001::1 prefixlen 64 # ndp -na Neighbor Linklayer Address Netif Expire S Flags 2001::1 52:54:00:20:64:23 vt0 permanent R fe80::1%lo0 (incomplete) lo0 permanent R fe80::5054:ff:fe20:6423%vt0 52:54:00:20:64:23 vt0 permanent R # ndp -sn 2001::2 00:01:02:03:04:05 # ndp -na Neighbor Linklayer Address Netif Expire S Flags 2001::1 52:54:00:20:64:23 vt0 permanent R 2001::2 00:01:02:03:04:05 vt0 permanent R fe80::1%lo0 (incomplete) lo0 permanent R fe80::5054:ff:fe20:6423%vt0 52:54:00:20:64:23 vt0 permanent R # tcpdump -enlpi vt0 & [1] 344075 # tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on vt0, link-type EN10MB (Ethernet), capture size 262144 bytes ping6 -nc3 2001::2 PING6(56=40+8+8 bytes) 2001::1 --> 2001::2 09:59:10.090490 52:54:00:20:64:23 > 00:01:02:03:04:05, ethertype IPv6 (0x86dd), length 70: 2001::1 > 2001::2: ICMP6, echo request, seq 0, length 16 09:59:11.090614 52:54:00:20:64:23 > 00:01:02:03:04:05, ethertype IPv6 (0x86dd), length 70: 2001::1 > 2001::2: ICMP6, echo request, seq 1, length 16 09:59:12.091746 52:54:00:20:64:23 > 00:01:02:03:04:05, ethertype IPv6 (0x86dd), length 70: 2001::1 > 2001::2: ICMP6, echo request, seq 2, length 16 --- 2001::2 ping6 statistics --- 3 packets transmitted, 0 packets received, 100.0% packet loss # fg tcpdump -enlpi vt0 3 packets captured 3 packets received by filter 0 packets dropped by kernel # Nick Reilly 2018-08-02T14:16:49Z post119033: Re: How to disable neighbor discovery sudheesh k t(deleted) http://community.qnx.com/sf/go/post119033 2018-08-02T11:29:04Z 2018-08-02T11:29:04Z Thank you for your reply. I am trying to use ndp -s hostname ether_addr but it is giving error as below, ndp -s someaddr%tap0 macaddr ndp: someaddr%tap0: No address associated with hostname V2X# ndp -s some addr mac addr ndp: writing to routing socket: No such process sudheesh k t(deleted) 2018-08-02T11:29:04Z post119030: Re: How to disable neighbor discovery Nick Reilly http://community.qnx.com/sf/go/post119030 2018-08-01T15:54:56Z 2018-08-01T15:54:56Z Use "ndp -s ..." to set the ndp entry first. Nick Reilly 2018-08-01T15:54:56Z post119028: How to disable neighbor discovery sudheesh k t(deleted) http://community.qnx.com/sf/go/post119028 2018-08-01T05:37:04Z 2018-08-01T05:37:04Z I am using QNX Neutrino 6.6.0 on the Freescale i.mx6.I want to establish an ipv6 communication(ping6).As soon as i start ping6(ping6 -I tap0 destination address) command i see neighbor discovery happening,I want to skip neighbor discovery, since i have the layer2(mac)address of destination. Anyone please suggest an idea to disable neighbor discovery in qnx and send icmpv6 echo request using destination layer2(mac)address? sudheesh k t(deleted) 2018-08-01T05:37:04Z post118848: Re: ping6 utility takes long duration for unreachable destination Nick Reilly http://community.qnx.com/sf/go/post118848 2018-05-25T15:23:09Z 2018-05-25T15:23:09Z Try the "-n" option to stop it doing a name lookup with the resolver. If that speeds things up then take a look at what nameservers and domains you have setup for name resolution. Nick Reilly 2018-05-25T15:23:09Z post118845: ping6 utility takes long duration for unreachable destination jashitha kp(deleted) http://community.qnx.com/sf/go/post118845 2018-05-25T07:14:18Z 2018-05-25T07:14:18Z Hello there, I am currently this QNX version "QNX localhost 6.6.0 2014/10/05-14:30:12EDT i.MX6S_V2X_Board armle". With the ping6 utility when I try to ping for unreachable destination it is taking long time as given below: time ping6 -I tap0 -c 1 - 1 2001::4 PING6(56=40+8+8 bytes) 2001::1 --> 2001::4 --- 2001::4 ping6 statistics --- 1 packets transmitted, 0 packets received, 100.0% packet loss 12.08s real 0.01s user 0.01s system Is there any fix for this? can you please help me.. Thanks in advance Thanks and regards, Jashitha jashitha kp(deleted) 2018-05-25T07:14:18Z post118697: WATCH PACIFIC RIM UPRISING FULL MOVIE | FORUM gd boy(deleted) http://community.qnx.com/sf/go/post118697 2018-03-22T23:41:40Z 2018-03-22T23:41:40Z https://www.facebook.com/theterror11/ https://www.facebook.com/Live-Boxing-Joshua-vs-Parker-Live-Stream-351301205372849/ http://salvemoslashuacas.pe/huacas/recurso-39687 http://euroavocatura.ro/forum/viewtopic.php?pid=23561 http://members.jsta.org.jo/social/forum/topic/3258 http://www.epicfaction.com/forum/topic/2074 http://www.epicfaction.com/forum/topic/2075 http://members.jsta.org.jo/social/forum/topic/3259 http://salvemoslashuacas.pe/huacas/recurso-39693 http://euroavocatura.ro/forum/viewtopic.php?pid=23572 http://www.epicfaction.com/forum/topic/2076 http://members.jsta.org.jo/social/forum/topic/3260 http://euroavocatura.ro/forum/viewtopic.php?pid=23575 http://salvemoslashuacas.pe/huacas/recurso-39699 http://sumo-server.pl/forum/showthread.php?tid=12453 http://salvemoslashuacas.pe/huacas/recurso-39707 http://euroavocatura.ro/forum/viewtopic.php?pid=23583 http://members.jsta.org.jo/social/forum/topic/3262 http://www.epicfaction.com/forum/topic/2078 http://sumo-server.pl/forum/showthread.php?tid=12459 http://salvemoslashuacas.pe/huacas/recurso-39714 http://euroavocatura.ro/forum/viewtopic.php?pid=23592 http://members.jsta.org.jo/social/forum/topic/3263 http://www.epicfaction.com/forum/topic/2079 gd boy(deleted) 2018-03-22T23:41:40Z post118638: RFC list Andrzej Polanski http://community.qnx.com/sf/go/post118638 2018-03-01T14:11:24Z 2018-03-01T14:11:24Z Is there list of RFC implemented (esp. in QNX 6.6.0)? Best regards, Andrzej Polanski Andrzej Polanski 2018-03-01T14:11:24Z post118637: dchcek in qnx 6.5.0sp1 Alex Lugovoy(deleted) http://community.qnx.com/sf/go/post118637 2018-03-01T09:16:25Z 2018-03-01T09:16:25Z In in qnx 6.5.0sp1 dchcek not check a disk for bad blocks . How to solve this problem? Alex Lugovoy(deleted) 2018-03-01T09:16:25Z post118517: Secure logs Gervot Olivier(deleted) http://community.qnx.com/sf/go/post118517 2018-02-05T09:48:38Z 2018-02-05T09:48:38Z Hi We need to log events in a safe application (SIL 2) Events are formated as strings The log API must be thread safe We used "syslog" functions but its seems not safe enought Is there safe log functions ? Thanks Olivier Gervot Olivier(deleted) 2018-02-05T09:48:38Z post118492: Re: Iso image Nick Reilly http://community.qnx.com/sf/go/post118492 2018-01-30T15:17:39Z 2018-01-30T15:17:39Z Sorry but that's a 7.0.0 package and not available in 6.5.0. You may need to come up with your own startup in 6.5.0. Also note that QEMU works a lot better under Linux than under Windows if you do get a working ifs. Nick Reilly 2018-01-30T15:17:39Z post118489: Re: Iso image Gervot Olivier(deleted) http://community.qnx.com/sf/go/post118489 2018-01-30T14:10:05Z 2018-01-30T14:10:05Z Thank for your answer I tried this but i doesnt have startup-armv8_fm i doesnt have "extras package in SDP7.0.0" Where is this package ? I m on a Windows host of QNX650 Thank Olivier Gervot Olivier(deleted) 2018-01-30T14:10:05Z post118486: Re: Iso image Nick Reilly http://community.qnx.com/sf/go/post118486 2018-01-29T18:01:01Z 2018-01-29T18:01:01Z The .ifs file is good for QEMU, just pass it in as the kernel. Here's the qemu command I use to startup a qemu running QNX where arm.ifs is the .ifs file you have built. qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -m 1G -kernel arm.ifs -nographic -serial mon:stdio You will need to ensure that your build file builds the correct type of ifs: [image=0x80000000] [virtual=armle-v7,elf +compress] boot = { startup-armv8_fm PATH=/proc/boot:/sbin:/bin:/usr/bin:/usr/sbin LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/pci CONFIG_PATH=/proc/boot:/etc procnto-smp-instr } I also have an fs built in to a qcow image running on a virtio block driver and a virtio network driver with these additional options on the qemu command line: -drive file=armfs.qcow2,if=none,id=drv0 -device virtio-blk-device,drive=drv0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-device,netdev=net0,mac=$MACADDR Note that the startup-armv8_fm and virtio drivers are part of the virtio extras package in SDP7.0.0 and not part of the base SDP7 install. Nick Reilly 2018-01-29T18:01:01Z post118482: Iso image Gervot Olivier(deleted) http://community.qnx.com/sf/go/post118482 2018-01-29T17:24:50Z 2018-01-29T17:24:50Z Hi I would like to run a QNX on ARM on a virtual machine I think that QEMU could work https://www.qemu.org/ QEMU need an iso file to run. How can i create an QNX ARM iso image file ? I can create an ARM image file with momentics, but the resulting image file is a .ifs image How to convert .ifs file to .iso file ? Is it the right way to do ? Thanks Olivier Gervot Olivier(deleted) 2018-01-29T17:24:50Z post118443: Qnet and Qnetstats Description Scott Poulin(deleted) http://community.qnx.com/sf/go/post118443 2018-01-23T17:21:24Z 2018-01-23T17:21:24Z Can anyone provide additional detail about the qnetstats output. None of the documentation gives you information on how to interrupt the timestamp in the qnet_error log or any of the information that is outputted. I figured out that the first two numbers in the timestamp is related to the days that the server has been up, but I can't figure out the remaining numbers. For example, 47213832: server_lookup(): invalid scoid 121, 120 47 in the first number means the 47th day the server was up. I haven't figured out what the remaining numbers are and I can't find any documentation to help me troubleshoot the issues I am seeing. Thanks for any help or information! Scott Poulin(deleted) 2018-01-23T17:21:24Z post118032: Error parsing CGI script HTTP header data saurabh parmar(deleted) http://community.qnx.com/sf/go/post118032 2017-09-12T14:15:47Z 2017-09-12T14:15:47Z I am following below steps: 1. Giving alias ip address as 10.10.9.8 using below command: "ifconfig tsec0 inet alias 10.10.9.8/16" 2. keeping "uploadCMSFile.cgi" file in "/atlas/Data/Web/cgi" folder 3. keeping MDI_Default.html file in "/atlas/Data/Web/httpd" location 4. I am giving below command to launch the slinger. "HTTPD_ROOT_DIR=/atlas/Data/Web/httpd HTTPD_ROOT_DOC=MDI_Default.html HTTPD_SCRIPTALIAS=/atlas/Data/Web/cgi slinger -cdec -i 10.10.9.8 &" 5. http://10.10.9.8/MDI_Default.html . Showing proper web page. 6. http://10.10.9.8/cgi-bin/uploadCMSFile.cgi. Throwing below message on browser: This page isn’t working 10.10.9.8 didn’t send any data. ERR_EMPTY_RESPONSE 7. If I use, slinger uses for x86, on url "http://10.10.9.8/cgi-bin/uploadCMSFile.cgi" works well. but if I use, slinger uses for ppc, on url "http://10.10.9.8/cgi-bin/uploadCMSFile.cgi" gives error as mentioned above. 8. I run "syslogd" command to debugging purpose. I got below error messages: Jan 01 00:41:15 nto slinger[1966133-2]: Error parsing CGI script HTTP header data. Jan 01 00:41:15 nto slinger[1966133-2]: Error running CGI script /atlas/Data/Web/httpd/cgi/uploadCMSFile.cgi: No message of desired type Please let me know, how to solve this issue. Please refer attached syslogd debug file. Thanks & Regards, Saurabh saurabh parmar(deleted) 2017-09-12T14:15:47Z post117752: Re: RE: stack_interrupt_remove Gaute Nilsson http://community.qnx.com/sf/go/post117752 2017-05-22T12:15:54Z 2017-05-22T12:15:54Z Did you ever find out what caused this? We are facing the same problem now. -Gaute Gaute Nilsson 2017-05-22T12:15:54Z post117324: qnet: kif_server@899 kif_server_msgs Overflow(0) [and process not terminating as expected] Davide Ancri http://community.qnx.com/sf/go/post117324 2017-01-12T10:36:52Z 2017-01-12T10:36:52Z hello everyone I am investigating a problem where a remote process (spawned on a remote qnet node via "on -f") does not terminate when a SIGTERM is sent to on. Here's the steps followed during a full run: 1) process procA is launched on node nodeA 2) procA spawns: on -f nodeB scriptB 3) scriptB ends into: exec procB 4) our test/simulation goes on until a good reason for terminating 5) procA sends a SIGTERM to its on child (spawned at point 2), expecting procB to get terminated 6) procA expects SIGCHLD from on, or after a timeout it exits anyway What sometimes happens is: on remains alive with a pending SIGTERM, and procB does not terminate. I noticed this strange message into nodeB sloginfo, in correspondence with the termination attempt: Jan 05 17:09:42 7 15 0 qnet(stats): kif_server@899 kif_server_msgs Overflow(0) Can this explain why something gone wrong in the signal delivery procA->on->nodeB->procB ? Is it a non recoverable qnet error? Is there a way to avoid this kind of error / critical situation? I'm running a x86 system with qnx 6.5.0. If other infos are needed feel free to ask :) thanks in advance! Davide Davide Ancri 2017-01-12T10:36:52Z post116952: Qnet and ethercat? Claudia Choi http://community.qnx.com/sf/go/post116952 2016-10-07T17:41:06Z 2016-10-07T17:41:06Z Hi all, I am not familiar with ethercat at all, I have a customer asking the followings: - Can QNet run on ethercat? - Can they both reside on the same targets? I would like to be able to run PPS, remote messaging and other features all using QNet (multiple targets) and want to know if Ethercat is incompatible with QNet. - Can QNet sevices (ex. PPS or remote message passing) use ethercat instead of standard Ethernet? Any help would be appreciated. Thanks, Claudia Claudia Choi 2016-10-07T17:41:06Z post116818: libspi-master not found in QNX 6.6 Bob Selby(deleted) http://community.qnx.com/sf/go/post116818 2016-09-19T15:21:22Z 2016-09-19T15:21:22Z I am trying to build an app that uses SPI via the SPI framework. Under 6.5 on a different board the app had to be linked with LIBSPI-MASTER to resolve the likes of "spi_open()". Under 6.6 on a zynq board using the "BSP_xilinx-zynq-7000-zc702_br-660_be-660_SVN755171_JBN24" BSP the file doesnt exist and is not created during the BSP build process - it is NOT in the prebuilt area. In fact it is nowhere on the machine. The spi_master and spi_xzynq.so files are created OK Any help welcome Bob Bob Selby(deleted) 2016-09-19T15:21:22Z post116816: Re: Where is libspi-master? Bob Selby(deleted) http://community.qnx.com/sf/go/post116816 2016-09-19T15:01:37Z 2016-09-19T15:01:37Z I have the same problem on v6.6 ... it's NOT in the prebuilt area and it's not built Bob Selby(deleted) 2016-09-19T15:01:37Z post116476: does qnx provide wpa_supplicant/hostapd for 64bit Wenbin Fu http://community.qnx.com/sf/go/post116476 2016-06-23T08:45:50Z 2016-06-23T08:45:50Z Hi, We got one version of wpa_supplicant/hostApd from qnx, it works well in 32bits OS. we are trying to build this version with SDP700, and run it in 64bit. wpa_supplicant/hostApd are not stable, often crash in unreason. does qnx provide the version of wpa_supplicant/hostApd for 64bit? thanks - wenbin Wenbin Fu 2016-06-23T08:45:50Z post116053: Re: Server/Client app slow data transfer rate Ankur Patel(deleted) http://community.qnx.com/sf/go/post116053 2016-04-06T01:15:08Z 2016-04-06T01:15:08Z Second testing is between (QNX and Windows) Data transfer rate: 150 KBps Ankur Patel(deleted) 2016-04-06T01:15:08Z post116052: Server/Client app slow data transfer rate Ankur Patel(deleted) http://community.qnx.com/sf/go/post116052 2016-04-06T00:31:21Z 2016-04-06T00:31:21Z Hello, I am connecting QNX and Windows under one network. I am using nic for wifi on QNX. I can ping from both side and works perfectly. Testing of Server/Client app (Ubuntu and Windows) Data transfer rate : 1.0 MBps (Approx) ------------------------------------------------------------------------------ Testing of Server/Client app (Ubuntu and Windows) Data transfer rate : 150 KBps (Approx) -------------------------------------------------------------------------------- I am using same code for both QNX and Ubuntu as Server and Windows as Client. Question 1: Why is vast difference between data transfer rate between these process? Question 2: What is possible reason behind this problem? Question 3: How to solve this problem? I am also attaching codes file! Requirment, Execute server side, ./ (executable file name) 2222 -'2222' is port no. Execute Client side (filename .exe) (IP address of QNX) Ankur Patel(deleted) 2016-04-06T00:31:21Z post116045: Re: Cellular modem and PPP Nick Reilly http://community.qnx.com/sf/go/post116045 2016-04-04T17:49:37Z 2016-04-04T17:49:37Z The pppd source code for QNX is part of the networking code and you will need a source code license to receive a copy of it. I've had QNX pppd communicating to Linux pppd over a serial link, so there shouldn't be a problem as long as all the options are setup properly. Nick Reilly 2016-04-04T17:49:37Z post116043: Re: Cellular modem and PPP Todd Peterson(deleted) http://community.qnx.com/sf/go/post116043 2016-04-04T16:53:02Z 2016-04-04T16:53:02Z The modem itself communicates over UART, so the chipset is not the problem. PPP does not work the same as it does on Linux. We have decided to port the same PPP from Linux to QNX. Then, we should be able to figure out what the problem is. It would be nice if somebody could point us to the PPP for QNX source code. Todd Peterson(deleted) 2016-04-04T16:53:02Z post116040: Re: Cellular modem and PPP Ankur Patel(deleted) http://community.qnx.com/sf/go/post116040 2016-04-01T15:08:11Z 2016-04-01T15:08:11Z As per my experience, First of all you have to check which chipset is used by modem? Then check QNX have native driver for that chipset. If it is, QNX will automatically give response. What is aim behind this all stuff? I was trying to send data wirelessly. In it, I can help you. Ankur Patel(deleted) 2016-04-01T15:08:11Z post116030: Cellular modem and PPP Todd Peterson(deleted) http://community.qnx.com/sf/go/post116030 2016-03-29T16:37:26Z 2016-03-29T16:37:26Z We have an Beaglebone LTE cellular modem cape from Nimbelink. Using the instructions for setting up PPP on Linux (see http://nimbelink.com/wp-content/uploads/2015/11/Skywire-PPPd-for-LTE-Application-Note.pdf) the modem works as expected. Tried the same thing under QNX 6.5 and have had no luck. Command that we run and scripts are below. Any suggestions? Nothing shows up in the syslog to give any clues as to why it does not work. Thanks in advance, Todd # pppd call verizon Connect script failed # cat /etc/ppp/peers/verizon /dev/serusb6 115200 connect "/fs/emmc/usr/bin/chat v -V f /fs/emmc/etc/ppp/peers/verizon chat" noauth defaultroute usepeerdns local debug updetach # cat /etc/ppp/peers/verizon-chat TIMEOUT 35 ECHO ON ABORT '\nBUSY\r' ABORT '\nERROR\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nNO DIALTONE\r' ABORT '\nRINGING\r\n\r\nRINGING\r' '' \rATZ OK 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0' OK AT+CGDCONT=3,"IP","vzwinternet","0.0.0.0",0,0 OK ATD*99***3# CONNECT '' Todd Peterson(deleted) 2016-03-29T16:37:26Z post115940: Re: Wireless Data transfer Ankur Patel(deleted) http://community.qnx.com/sf/go/post115940 2016-03-09T15:40:15Z 2016-03-09T15:40:15Z I am using PCIE module Airlink AWLH3026. It works perfectly with QNX. I connected with network. In network, We should have to "Turn off" firewall. So, we can ping to qnx and vice versa. Uisng server client application possible to transfer data. Ankur Patel(deleted) 2016-03-09T15:40:15Z post115856: Re: How an application running on Windows, uses the serial port on the QNX target? Ankur Patel(deleted) http://community.qnx.com/sf/go/post115856 2016-02-23T17:44:47Z 2016-02-23T17:44:47Z As I did recently, i use twisted RS232 cable. On windows side, I use software "Seriall port monitor". On QNX side, I wrote code to open serial port and to write data over it. Ankur Patel(deleted) 2016-02-23T17:44:47Z post115842: Ad-Hoc network Ankur Patel(deleted) http://community.qnx.com/sf/go/post115842 2016-02-22T23:16:43Z 2016-02-22T23:16:43Z I am using QNX Neutrino 6.5 on desktop. I inserted wireless pci card Airlink AWLH3026 and internet is working perfectly. Now I want to connect QNX with Windows PC via AD-Hoc network. I tried to ping Windows ==> QNX and it shows me : unable to reach destination. Can you suggest me implement this network? Ankur Patel(deleted) 2016-02-22T23:16:43Z post115729: Re: Wireless Data transfer Ankur Patel(deleted) http://community.qnx.com/sf/go/post115729 2016-02-11T16:34:14Z 2016-02-11T16:34:14Z Nick Reilly, I am working on academic project. They need wireless communication between QNX Neutrino and Windows PCs. We are doing simulation of Electric vehicle on QNX and Simulation data is stored in .csv file. Requirments of Project, 1. Transmit Real time simulation data to Windows pc over Wireless communication with transfer rate minimum 5MBps. 2. Read simulation data on Windows pc. 3. Develop Real time graph using simulated data on Windows pc. That's why I thinking in this way. If you have better idea , it will help me & I appreciate it. Ankur Patel(deleted) 2016-02-11T16:34:14Z post115728: Re: Wireless Data transfer Ankur Patel(deleted) http://community.qnx.com/sf/go/post115728 2016-02-11T16:25:40Z 2016-02-11T16:25:40Z Mark Wakim, I ordered those module. I will check it. You know that it does't gonna work. Those module doesn't have full size card slot. You was talking about Mini PCIE based wifi module. Are those Broadcom and Atheros? Is it have supported driver? How can i transmit Real time simulation data using this PCIE based module? Ankur Patel(deleted) 2016-02-11T16:25:40Z post115727: Re: Wireless Data transfer Nick Reilly http://community.qnx.com/sf/go/post115727 2016-02-11T15:07:53Z 2016-02-11T15:07:53Z Backing up a bit, why do you need to use WiFi? We support most of the USB/Ethernet dongles that use ASIX and SMSC95xx chips internally, the USB2.0 with 100Mb/s max are better supported than any that are USB 3.0 and Gigabit. We do support some of the later, but more of the former. Alternatively if you have USB OTG then you can run one of the Ethernet over USB protocols like NCM/ECM/RNDIS if you can get Windows to cooperate. Nick Reilly 2016-02-11T15:07:53Z post115726: Re: Wireless Data transfer Mark Wakim http://community.qnx.com/sf/go/post115726 2016-02-11T14:56:50Z 2016-02-11T14:56:50Z Hi Ankur, Right those NetBSD driver ports are quite old and are not supported. From that link: "The ported drivers that have source publicly available are not currently considered to be supported". Does your board by any chance have a full size SD card slot? Some companies for example TI and Silex have WiFi modules that can use an SDIO slot. We also support some mini PCIE based WiFi modules. Mark Mark Wakim 2016-02-11T14:56:50Z post115721: Re: Wireless Data transfer Ankur Patel(deleted) http://community.qnx.com/sf/go/post115721 2016-02-11T01:00:12Z 2016-02-11T01:00:12Z In following link it's already mentioned that QNX supports USB 2.0 dongle in the Wireless drivers section : http://community.qnx.com/sf/wiki/do/viewPage/projects.networking/wiki/Drivers_wiki_page Ankur Patel(deleted) 2016-02-11T01:00:12Z post115714: Re: Wireless Data transfer Hugh Brown http://community.qnx.com/sf/go/post115714 2016-02-10T12:41:48Z 2016-02-10T12:41:48Z We don¹t support any USB wireless adapters. On 2016-02-09, 8:35 PM, "Ankur Patel" <community-noreply@qnx.com> wrote: >I am trying to transfer Real time simulation data from QNX to Windows. I >want to use Cisco-Linksys WUSB54GC or BELKIN F5D7050. It has QNX >supporting chipset. >How to configure this usb wireless adapter device to QNX? >How to connect it with other PC? >How to tranfer data to other PC? > >Guide me. >Thanks in advance. > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post115710 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2016-02-10T12:41:48Z post115710: Wireless Data transfer Ankur Patel(deleted) http://community.qnx.com/sf/go/post115710 2016-02-10T01:35:23Z 2016-02-10T01:35:23Z I am trying to transfer Real time simulation data from QNX to Windows. I want to use Cisco-Linksys WUSB54GC or BELKIN F5D7050. It has QNX supporting chipset. How to configure this usb wireless adapter device to QNX? How to connect it with other PC? How to tranfer data to other PC? Guide me. Thanks in advance. Ankur Patel(deleted) 2016-02-10T01:35:23Z post115667: Re: "Missing" IP headers and pfil order Nick Reilly http://community.qnx.com/sf/go/post115667 2016-02-03T17:51:08Z 2016-02-03T17:51:08Z The only way to see what is in the chain would be to walk the TAILQ yourself, see pfil_run_hooks() in the NetBSD code: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/net/pfil.c?rev=1.28&content-type=text/x-cvsweb-markup&only_with_tag=MAIN Nick Reilly 2016-02-03T17:51:08Z post115665: Re: "Missing" IP headers and pfil order peter graham(deleted) http://community.qnx.com/sf/go/post115665 2016-02-03T16:14:33Z 2016-02-03T16:14:33Z Thanks again for the quick reply! I'm not enabling QNX's IPSec (and actually changed the startup io-pkt-v4-hc command to io-pkt-v4 to try to eliminate any additional behavior). I've attached a screenshot of the output I'm seeing, which shows the AH packets, but in the input hook, ip_p is IPPROTO_UDP (17). I think one thing I'm not unclear on is whether or not something else in the filter chain is modifying the packet before my filter is called. Is there a way to view the actual chain? I tried some searching online but wasn't able to come up with anything that seemed to be what I was looking for. I feel like I'm missing something simple but can't pin it down. peter graham(deleted) 2016-02-03T16:14:33Z post115663: Re: "Missing" IP headers and pfil order Nick Reilly http://community.qnx.com/sf/go/post115663 2016-02-03T13:53:57Z 2016-02-03T13:53:57Z For the documentation on this see the io-pkt documentation at: http://www.qnx.com/developers/docs/am11/index.jsp?topic=%2Fcom.qnx.doc.neutrino.utilities%2Ftopic%2Fi%2Fio-pkt.html I've noticed that it is missing from the "use" information and have filed a bug to address this. Whether you need pfil_ipsec is going to depend on if you have set the "ipsec" option on the command line or not. If the ipsec option is enabled then the fact that it is an IPSec protocol (inner protocol is IPv4, IPv6, ESP, AH or IPComp) flags it as an IPSec packet and the pfil hooks will not see the packet until it is decrypted unless pfil_ipsec is set. If the ipsec option is not set then all packets will be sent to the pfil hooks straight away. Nick Reilly 2016-02-03T13:53:57Z post115662: Re: "Missing" IP headers and pfil order peter graham(deleted) http://community.qnx.com/sf/go/post115662 2016-02-03T13:43:53Z 2016-02-03T13:43:53Z I'm actually integrating a third-party IPSec product into a packet filter, and not using QNX's IPSec. Is this command still relevant in this case? I can't find any reference to pfil_ipsec in the QNX docs or on the forums peter graham(deleted) 2016-02-03T13:43:53Z post115660: Re: "Missing" IP headers and pfil order Nick Reilly http://community.qnx.com/sf/go/post115660 2016-02-02T20:53:39Z 2016-02-02T20:53:39Z You need to add the "pfil_ipsec" option to the command line. From the io-pkt documentation pfil_ipsec (io-pkt-v4-hc and io-pkt-v6-hc only) Run packet filters on packets before encryption. The default is to do it after encryption. Nick Reilly 2016-02-02T20:53:39Z post115659: "Missing" IP headers and pfil order peter graham(deleted) http://community.qnx.com/sf/go/post115659 2016-02-02T20:36:34Z 2016-02-02T20:36:34Z I have a packet filter that operates on AH-encapsulated UDP packets, and while tcpdump shows the AH header is there, it is not available when my packet filter hook is called (at least, it isn't as far as I can tell. The source and destination are correct, but the ip_p field in the iphdr is only ever IPPROTO_UDP). I thought maybe something above my hook in the stack was de-encapsulating the packet, but I haven't been able to find a way to test this. Any thoughts on where I should look, or other possible causes? peter graham(deleted) 2016-02-02T20:36:34Z post114621: Enabling default passkey and legacy pin in Bluetooth Manoj R(deleted) http://community.qnx.com/sf/go/post114621 2015-10-10T06:49:48Z 2015-10-10T06:49:48Z Hi, I do not want the QNX Car system to ask for a pin and confirmation I want to set the default pin to 0000 so that when the android phone sees this system it can automatically connect without asking for the pin.I am using below commands to set the default and legacy pin and to authorize the phone but these commands are not working echo "command::set_legacy_pin\ndata::65:3C:4F:D0:C9:88\ndata2::n:0000" >> /pps/services/bluetooth/control echo "command::set_passkey\ndata::65:3C:4F:D0:C9:88\ndata2::n:0000" >> /pps/services/bluetooth/control echo "command::user_confirm\ndata::65:3C:4F:D0:C9:88\ndata2::b:true" >> /pps/services/bluetooth/control Manoj R(deleted) 2015-10-10T06:49:48Z post114495: Re: Boost::Asio Async write failed K Seto(deleted) http://community.qnx.com/sf/go/post114495 2015-09-22T22:17:23Z 2015-09-22T22:17:23Z Found the problem: async_write_some needs to hold on to the socket for writing later in write_handler; otherwise, the destructor of the socket cancels all async operations. K Seto(deleted) 2015-09-22T22:17:23Z post114493: Boost::Asio Async write failed K Seto(deleted) http://community.qnx.com/sf/go/post114493 2015-09-22T17:43:50Z 2015-09-22T17:43:50Z Hi, I am porting an application to QNX 6.6 that uses boost::asio library. I have already built the boost 1.57.0 binaries. To test the library working, I ran two http server example codes using synchronized and asynchronized writing respectively (as attached). The Sync version runs fine; while the Async one failed at writing. It returned error "Operation canceled". Can anyone point out where I should look for? Thanks. K Seto(deleted) 2015-09-22T17:43:50Z post114433: Re: Help learning to use the packet filtering tools Nick Reilly http://community.qnx.com/sf/go/post114433 2015-09-08T13:34:13Z 2015-09-08T13:34:13Z libpcap.a and libpcapS.a are in the SDP in the target/qnx6/<CPU>/usr/lib directory: E.g on my Linux install of 6.6.0 in /opt/qnx660: $ find /opt/qnx660/target/qnx6 -name 'libpcap*' /opt/qnx660/target/qnx6/x86/usr/lib/libpcap.a /opt/qnx660/target/qnx6/x86/usr/lib/libpcapS.a /opt/qnx660/target/qnx6/armle-v7/usr/lib/libpcap.a /opt/qnx660/target/qnx6/armle-v7/usr/lib/libpcapS.a $ Nick Reilly 2015-09-08T13:34:13Z post114427: Re: Help learning to use the packet filtering tools Samuel Hutchinson(deleted) http://community.qnx.com/sf/go/post114427 2015-09-04T22:01:49Z 2015-09-04T22:01:49Z To repeat my previous question: where is the actual libpcap.a (or equivalent) file in the QNX directory structure? I found lots of guides on programming with libpcap, but none of them mean anything if I can't access the functions declared in the header. I found the header file and Momentics sees it fine, but when I tell it to include the libpcap.a file I've found (in target/qnx6/.../usr/lib) it does not give a file not found error (meaning it SEES the library), but doesn't load the function definitions (meaning it is the WRONG library), resulting in an 'undefined reference' error. Samuel Hutchinson(deleted) 2015-09-04T22:01:49Z post114426: Re: Help learning to use the packet filtering tools Nick Reilly http://community.qnx.com/sf/go/post114426 2015-09-04T18:45:55Z 2015-09-04T18:45:55Z See the PCAP documentation on TCPDUMP page: http://www.tcpdump.org/pcap.html Nick Reilly 2015-09-04T18:45:55Z post114425: Re: Help learning to use the packet filtering tools Samuel Hutchinson(deleted) http://community.qnx.com/sf/go/post114425 2015-09-04T18:34:07Z 2015-09-04T18:34:07Z I've looked into libpcap, but I'm not sure how to get it to work for QNX, since I'm using a windows host. I've read that it's part of QNX's standard libraries so I tried just importing it, but it can't find the function definitions, and I can't figure out where I would get them. Samuel Hutchinson(deleted) 2015-09-04T18:34:07Z post114420: Re: Help learning to use the packet filtering tools Nick Reilly http://community.qnx.com/sf/go/post114420 2015-09-04T13:04:31Z 2015-09-04T13:04:31Z To see packets sent to other addresses you will need to use BPF as that is the only way you can put the interface in promiscuous mode. Here's some example code that I found on a quick search: https://gist.github.com/manuelvonthron-opalrt/8559997 Note that libpcap uses BPF so if you find it easier to program for that then it is an alternative. Nick Reilly 2015-09-04T13:04:31Z post114414: Help learning to use the packet filtering tools Samuel Hutchinson(deleted) http://community.qnx.com/sf/go/post114414 2015-09-03T22:28:20Z 2015-09-03T22:28:20Z I'm looking for a good tutorial for getting started with the packet filtering/network sniffing tools. From what I can see I want to use either pf or bpf. I want to be able to open packets with address for machine other than mine, so whichever is best for that. Samuel Hutchinson(deleted) 2015-09-03T22:28:20Z post114050: io-char S/W buffer overrun error Simon Barrett(deleted) http://community.qnx.com/sf/go/post114050 2015-07-01T11:29:45Z 2015-07-01T11:29:45Z Hi, I've been seeing "io-char: S/W buffer overrun error on " in my slog, can anyone tell me where its coming from? I'm using QNX 6.4, I've looked at the source for devc-ser8250 and there are similar format messages i.e. starting with io-char but this exact message. The application is sending data between serial ports. Thanks. Simon Barrett(deleted) 2015-07-01T11:29:45Z post113688: RE: qnet: fast resolver configuration for local environment Dave Brown http://community.qnx.com/sf/go/post113688 2015-04-07T14:45:53Z 2015-04-07T14:45:53Z You will need a resolver to resolve names to MAC addresses. You could try using the file resolver instead of the ndp (Node Discovery Protocol) resolver. The drawback of the file resolver is that you will need to know your remote MAC addresses ahead of time and have it populated in the file. This resolver will not attempt check for a duplicate name. There does not appear to be an option to disable the unique name check directly. Options that could affect behavior are generic and will affect other behavior as well. res_retries will affect all resolver queries, not just the unique name query for example. Thanks Dave -----Original Message----- From: Thomas Schickentanz [mailto:community-noreply@qnx.com] Sent: April-07-15 2:45 AM To: general-networking Subject: qnet: fast resolver configuration for local environment We are using qnet on a system with two nodes and we are sure that our hostnames are unique in our local environment. Communication between the two nodes should be available as fast as possible. What we see with default configuration is a delay of 400 msec on startup of qnet: Jan 01 09:00:00.573 7 15 0 qnet(L4): lr_verify_my_name_and_domain(): starting resolution of our hostname hu-omap.dis2 to ensure unique ... Jan 01 09:00:00.973 7 15 0 qnet(L4): lr_verify_my_name_and_domain(): qnet going online I have set the "res_retries" to 0 which reduces the delay to 200 msec. I also tried to set "res_ticks" to 0, but this has no effect for the initial 200 msec delay. Setting "periodic_ticks" (default 200 msec) to a lower value seems quite dangerous, because it has impact on all timings. What is your advice for saving additional time on resolution stage, if we do not need a resolver at all to ensure unique names? Is it possible to write an own fast resolver and set it with "resolve=" option or set "resolve=none"? _______________________________________________ General http://community.qnx.com/sf/go/post113685 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Dave Brown 2015-04-07T14:45:53Z post113685: qnet: fast resolver configuration for local environment Thomas Schickentanz http://community.qnx.com/sf/go/post113685 2015-04-07T06:45:15Z 2015-04-07T06:45:15Z We are using qnet on a system with two nodes and we are sure that our hostnames are unique in our local environment. Communication between the two nodes should be available as fast as possible. What we see with default configuration is a delay of 400 msec on startup of qnet: Jan 01 09:00:00.573 7 15 0 qnet(L4): lr_verify_my_name_and_domain(): starting resolution of our hostname hu-omap.dis2 to ensure unique ... Jan 01 09:00:00.973 7 15 0 qnet(L4): lr_verify_my_name_and_domain(): qnet going online I have set the "res_retries" to 0 which reduces the delay to 200 msec. I also tried to set "res_ticks" to 0, but this has no effect for the initial 200 msec delay. Setting "periodic_ticks" (default 200 msec) to a lower value seems quite dangerous, because it has impact on all timings. What is your advice for saving additional time on resolution stage, if we do not need a resolver at all to ensure unique names? Is it possible to write an own fast resolver and set it with "resolve=" option or set "resolve=none"? Thomas Schickentanz 2015-04-07T06:45:15Z post113654: Re: TFTP not working in QNX 6.5 Nick Reilly http://community.qnx.com/sf/go/post113654 2015-03-31T17:56:50Z 2015-03-31T17:56:50Z I think you will need to raise this via your support channel and we will address it. Nick Reilly 2015-03-31T17:56:50Z post113652: Re: TFTP not working in QNX 6.5 Deepankar Gaur(deleted) http://community.qnx.com/sf/go/post113652 2015-03-31T17:14:20Z 2015-03-31T17:14:20Z Hey Nick thanks for your suggestions. After a lot of debugging I found out that the issue is not with the native TFTP package but it is with the package which supports ppcbe target (Power PC) target. Any idea on how to resolve this or debug this further ? Deepankar Gaur(deleted) 2015-03-31T17:14:20Z post113485: Re: TFTP not working in QNX 6.5 Nick Reilly http://community.qnx.com/sf/go/post113485 2015-03-03T15:17:46Z 2015-03-03T15:17:46Z No need to change the entire image, just copy syslogd, the syslog.conf and an empty logfile to /dev/shmem and run it all from there. It also may be useful to take a look at what the actual packets going back and forth on the wire are doing with wireshark. Nick Reilly 2015-03-03T15:17:46Z post113479: Re: TFTP not working in QNX 6.5 Deepankar Gaur(deleted) http://community.qnx.com/sf/go/post113479 2015-03-03T08:03:23Z 2015-03-03T08:03:23Z Thanks for the pointer Nick but unfortunately the OS image that I am using does not have the syslogd daemon and I cannot change the image. Any other ideas ? ? ? Deepankar Gaur(deleted) 2015-03-03T08:03:23Z post113455: Re: TFTP not working in QNX 6.5 Nick Reilly http://community.qnx.com/sf/go/post113455 2015-03-02T15:23:40Z 2015-03-02T15:23:40Z Try running a syslogd on machine A to capture the logging from tftpd and see what it reports. Nick Reilly 2015-03-02T15:23:40Z post113446: TFTP not working in QNX 6.5 Deepankar Gaur(deleted) http://community.qnx.com/sf/go/post113446 2015-03-02T08:16:39Z 2015-03-02T08:16:39Z Fellow Developers and Experts, I am facing the following problem while trying an TFTP connection from one QNX 6.5 machine to another. The scenario is explained below, Machine A - Running on QNX 6.5 - Acting as TFTP Server Machine B - Running on QNX 6.5 - Acting as TFTP Client The inetd.conf file on A contains the following entry for TFTP, tftp dgram udp nowait root /proc/boot/tftpd in.tftpd -el Also, after giving the "SOCK=/sock1 netstat -an" command I am able to see tftp server running on port number 69 on A. Now after confirming the above things I give the following command on the console of B, SOCK=/sock1 tftp -e 128.0.1.3 rexmt 1 timeout 10 get /dir_a/parse.log /dir_b/parse.log But it always give the error saying "Transfer Timed Out". I have made sure that the source and destination directories are having read and write permissions. Can anyone give me any pointers on what might be going wrong here ? ? ? Any help is much appreciated. Deepankar Gaur(deleted) 2015-03-02T08:16:39Z post113337: Re: DNS Lookup. How can we disable Reverse DNS lookup in QNX Sajal Malhotra(deleted) http://community.qnx.com/sf/go/post113337 2015-02-19T08:17:00Z 2015-02-19T08:17:00Z Thanks Nick for your prompt response. We tried the -n option. However it seems that we have an old ftpd binary (Our HW has QNX v6.3.0 installed). Is it possible to get the latest ftpd binary which supports this option? I also discovered another workaround to prevent reverse lookup. Which is by defining the IP address to host name mapping in "/etc/hosts". This also then works for Telnet and FTP. However the problem with this approach is that we also have to define the mapping of IP address of PC/Laptop which is connecting to our Host and from where we are doing the FTP. Now considering that my Host IP is fixed to 192.168.255.131, i need to create all entries in 192.168.255.0/24 subnet, because i am not sure what IP would be assigned to PC which is connecting to my host machine. Is there any way to define 1 entry for a complete subnet in /etc/hosts file? Sajal Malhotra(deleted) 2015-02-19T08:17:00Z post113294: Re: DNS Lookup. How can we disable Reverse DNS lookup in QNX Nick Reilly http://community.qnx.com/sf/go/post113294 2015-02-11T13:39:52Z 2015-02-11T13:39:52Z ftpd supports the "-n" option to disable this behaviour http://www.qnx.com/developers/docs/660/index.jsp?topic=%2Fcom.qnx.doc.neutrino.utilities%2Ftopic%2Ff%2Fftpd.html&resultof=%22ftpd%22%20 Unfortunately telnetd doesn't have the same capability, it doesn't require name services but if it has them it will use them, see http://www.qnx.com/developers/docs/660/index.jsp?topic=%2Fcom.qnx.doc.neutrino.utilities%2Ftopic%2Ft%2Ftelnetd.html&resultof=%22telnetd%22%20 Nick Reilly 2015-02-11T13:39:52Z post113293: Re: DNS Lookup. How can we disable Reverse DNS lookup in QNX Gervais Mulongoy http://community.qnx.com/sf/go/post113293 2015-02-11T13:21:48Z 2015-02-11T13:21:48Z You could probably achieve this using dnsmasq (check the 3rd party repo) locally where you point all your DNS requests to 127.0.0.1 and you configured dnsmasq with your real DNS servers and dnsmasq take care of handling the reverse lookups. That should speed things up for you. Gervais Mulongoy 2015-02-11T13:21:48Z post113290: DNS Lookup. How can we disable Reverse DNS lookup in QNX Sajal Malhotra(deleted) http://community.qnx.com/sf/go/post113290 2015-02-11T12:51:50Z 2015-02-11T12:51:50Z Hi, When I try to ftp (or telnet as well) to my QNX host it takes about 60 secs before I really get the connection. Looking at Wireshark Logs i see that the host generates Reverse DNS Lookup packets towards DNS Servers configured in resolv.conf. (e.g. Queries of type 130.255.168.192.in-addr.arpa). I do need DNS Server for Domain Name Resolution however there is no need for Reverse lookups. Is there any way to disable these Reverse Lookups? Thanks and Regards Sajal Malhotra Sajal Malhotra(deleted) 2015-02-11T12:51:50Z post113231: What else could be filtering besides pf? Philip Deneau http://community.qnx.com/sf/go/post113231 2015-02-05T15:55:37Z 2015-02-05T15:55:37Z Hi, I'm working with a QNX system based of 6.5.0. I have access to the code and root access to the board but no reasons why things are done the way they are. There is pf.conf on the board it appears the board is behaving like it is using it. However pf or bfp is not a running process. If I try this ... pfctl -d -f /etc/pf.conf pfctl: /dev/pf: No such file or directory So what else on the system could be doing filtering? What other commands can I run to see where the packet get eaten at? Thanks Phil Deneau Philip Deneau 2015-02-05T15:55:37Z post113117: Re: How to Fix the Source IP used in DNS Request sent from system. Nick Reilly http://community.qnx.com/sf/go/post113117 2015-01-28T13:49:03Z 2015-01-28T13:49:03Z 6.3.0 is really really old. I'd suggest that if you really need this to work you purchase a support contract and come in through that way. Otherwise try 6.5.0 SP1 or 6.6.0. Nick Reilly 2015-01-28T13:49:03Z post113116: Re: How to Fix the Source IP used in DNS Request sent from system. Sajal Malhotra(deleted) http://community.qnx.com/sf/go/post113116 2015-01-28T10:06:57Z 2015-01-28T10:06:57Z Hi Nick, Sean, Any Inputs you could give on my queries in last post. BR Sajal On Mon, Jan 19, 2015 at 1:32 PM, Sajal Malhotra <sajalmalhotra@gmail.com> wrote: > Hi Sean, > > Thanks for your help. Here are my findings after trying your suggestions: > - The arp -an option worked fine. Thankyou for the same :) > - timeout params in resolv.conf did not work(I have attached the > resolv.conf we used). > - However changing "res->retrans" and "res->retry" and res_init() *Did > work fine*. (Please Note: res_ninit does not seem to be supported on our > version of QNX OS (v6.3.0). Was getting compilation errors.) > > - Also regarding dns activity in FTP and Telnet, we do see still see the > same. I have attached the wireshark logs of the time when we just executed > a simple ftp command with numeric IP Addresses (ftp 192.168.255.131). The > Telnet and FTP commands get stuck till these pkt transmissions are > completed. (Please use "dns" filter in pcap file to see the query pkts that > are generated by kernel) > > The moment we remove DNS Server IPs from resolv.conf, the issue is not > seen. Can you put some light on this as well. > > PS: We are using QNX v6.3.0. > > BR > Sajal > > On Wed, Jan 7, 2015 at 8:16 PM, Sean Boudreau <community-noreply@qnx.com> > wrote: > >> On Wed, Jan 07, 2015 at 09:38:36AM -0500, Sean Boudreau wrote: >> > >> > For arp, pass the -n switch: >> > >> > # arp -an >> > >> > I don't see any dns activity with ftp if numeric addresses are used. >> > If a hostname is used, dns is required to resolve it to a numeric >> > address. >> > >> > You can change timeout parameters in resolv.conf: >> > >> > options timeout:x attempts:y >> > >> > Or from code: >> > >> > # include <resolv.h> >> > >> > struct __res_state * res = __res_get_state(); >> > >> > res->retrans = x; >> > res->retry = y; >> >> res_ninit(res); >> >> > >> > getaddrinfo(...); >> >> >> >> >> _______________________________________________ >> >> General >> http://community.qnx.com/sf/go/post112854 >> To cancel your subscription to this discussion, please e-mail >> general-networking-unsubscribe@community.qnx.com >> > > Sajal Malhotra(deleted) 2015-01-28T10:06:57Z post112987: Re: How to Fix the Source IP used in DNS Request sent from system. Sajal Malhotra(deleted) http://community.qnx.com/sf/go/post112987 2015-01-19T08:02:59Z 2015-01-19T08:02:59Z Hi Sean, Thanks for your help. Here are my findings after trying your suggestions: - The arp -an option worked fine. Thankyou for the same :) - timeout params in resolv.conf did not work(I have attached the resolv.conf we used). - However changing "res->retrans" and "res->retry" and res_init() *Did work fine*. (Please Note: res_ninit does not seem to be supported on our version of QNX OS (v6.3.0). Was getting compilation errors.) - Also regarding dns activity in FTP and Telnet, we do see still see the same. I have attached the wireshark logs of the time when we just executed a simple ftp command with numeric IP Addresses (ftp 192.168.255.131). The Telnet and FTP commands get stuck till these pkt transmissions are completed. (Please use "dns" filter in pcap file to see the query pkts that are generated by kernel) The moment we remove DNS Server IPs from resolv.conf, the issue is not seen. Can you put some light on this as well. PS: We are using QNX v6.3.0. BR Sajal On Wed, Jan 7, 2015 at 8:16 PM, Sean Boudreau <community-noreply@qnx.com> wrote: > On Wed, Jan 07, 2015 at 09:38:36AM -0500, Sean Boudreau wrote: > > > > For arp, pass the -n switch: > > > > # arp -an > > > > I don't see any dns activity with ftp if numeric addresses are used. > > If a hostname is used, dns is required to resolve it to a numeric > > address. > > > > You can change timeout parameters in resolv.conf: > > > > options timeout:x attempts:y > > > > Or from code: > > > > # include <resolv.h> > > > > struct __res_state * res = __res_get_state(); > > > > res->retrans = x; > > res->retry = y; > > res_ninit(res); > > > > > getaddrinfo(...); > > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post112854 > To cancel your subscription to this discussion, please e-mail > general-networking-unsubscribe@community.qnx.com > Sajal Malhotra(deleted) 2015-01-19T08:02:59Z post112858: RE: Adaptative partitionning Joel Pilon(deleted) http://community.qnx.com/sf/go/post112858 2015-01-07T17:41:35Z 2015-01-07T17:41:35Z Since the System partition is not consuming it's whole budget, the DebugReserve partition gets the free cycles and runs over budget. If you had a while 1 thread running in the system partition then the DebugReserve partition would only consume 15% of the CPU. The OS forum would be a better place to ask questions related to APS, -Joel ________________________________________ From: Gervot Olivier [community-noreply@qnx.com] Sent: Tuesday, January 06, 2015 11:13 AM To: general-networking Subject: Adaptative partitionning Hi I am curently testing the adaptative partitionning I wrote the following test program. It does the following tasks Try to create a partition If already created lookup for id Joint the partition Consume CPU (while loop) #include <sys/sched_aps.h> // sched_aps_partition_info #include <sys/neutrino.h> // SchedCtl #include <stdlib.h> #include <string.h> #include <errno.h> #include <stdio.h> #include <unistd.h> // usleep int main(void) { _Int16t id = 0; // create a partition sched_aps_create_parms creation_data; memset(&creation_data, 0, sizeof(creation_data)); creation_data.budget_percent = 15; creation_data.critical_budget_ms = 0; creation_data.name = "DebugReserve"; // Ne peut etre appelle qu'une fois avec un nom donne int ret = SchedCtl( SCHED_APS_CREATE_PARTITION, &creation_data, sizeof(creation_data)); if (ret != EOK) { printf("Couldn t create partition \"%s\": %s (%d).\n", creation_data.name, strerror(errno), errno); // already created sched_aps_lookup_parms lookup_data; memset(&lookup_data , 0 , sizeof ( lookup_data ) ) ; lookup_data.name = "DebugReserve"; int ret = SchedCtl(SCHED_APS_LOOKUP, &lookup_data, sizeof(lookup_data) ); if (EOK != ret) { printf("err SchedCtl SCHED_APS_LOOKUP ret %d errno %d %s\n",ret, errno, sys_errlist[errno]); } else { //use output field printf("SchedCtl SCHED_APS_LOOKUP OK id %d\n", lookup_data.id); id = lookup_data.id; } } else { printf ("The new partition ID is %d.\n", creation_data.id); id = creation_data.id; } sched_aps_join_parms join_data; memset(&join_data, 0, sizeof(join_data)); join_data.id = id; join_data.pid = 0; join_data.tid = 0; ret = SchedCtl( SCHED_APS_JOIN_PARTITION, &join_data, sizeof(join_data)); if (ret != EOK) { printf("Couldn’t join partition %d: %s (%d).\n", join_data.id, strerror(errno), errno); } else { printf ("Process is now in partition %d.\n", join_data.id); } // Consume max CPU while(1) { //usleep(1); } return 0; } I run both 3 instance of this program if execute: aps show -v the display is +----------- CPU Time ------------+-- Critical Time -- | | Used | | Partition name id | Budget | 0.100s 1.00s 10.0s | Budget | Used --------------------+---------------------------------+------------------- System 0 | 85% | 0.13% 0.07% 0.23% | 400ms | 0.000ms DebugReserve 1 | 15% | 74.04% 73.37% 64.13% | 0ms | 0.000ms --------------------+---------------------------------+------------------- Total | 100% | 74.17% 73.44% 64.36% | The budget for the "DebugReserve" partition is 15% but the program overrun the budget of 15% what is the problem, the code or my reasoning ? _______________________________________________ General http://community.qnx.com/sf/go/post112837 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Joel Pilon(deleted) 2015-01-07T17:41:35Z post112854: Re: How to Fix the Source IP used in DNS Request sent from system. Sean Boudreau(deleted) http://community.qnx.com/sf/go/post112854 2015-01-07T14:46:53Z 2015-01-07T14:46:53Z On Wed, Jan 07, 2015 at 09:38:36AM -0500, Sean Boudreau wrote: > > For arp, pass the -n switch: > > # arp -an > > I don't see any dns activity with ftp if numeric addresses are used. > If a hostname is used, dns is required to resolve it to a numeric > address. > > You can change timeout parameters in resolv.conf: > > options timeout:x attempts:y > > Or from code: > > # include <resolv.h> > > struct __res_state * res = __res_get_state(); > > res->retrans = x; > res->retry = y; res_ninit(res); > > getaddrinfo(...); Sean Boudreau(deleted) 2015-01-07T14:46:53Z post112853: Re: How to Fix the Source IP used in DNS Request sent from system. Sean Boudreau(deleted) http://community.qnx.com/sf/go/post112853 2015-01-07T14:38:45Z 2015-01-07T14:38:45Z For arp, pass the -n switch: # arp -an I don't see any dns activity with ftp if numeric addresses are used. If a hostname is used, dns is required to resolve it to a numeric address. You can change timeout parameters in resolv.conf: options timeout:x attempts:y Or from code: # include <resolv.h> struct __res_state * res = __res_get_state(); res->retrans = x; res->retry = y; getaddrinfo(...); On Wed, Jan 07, 2015 at 01:48:14PM +0530, Sajal Malhotra wrote: > Hi Nick, > > Thanks for your Reply. > It seems in QNX we can configure multiple logical IP Addresses in Same Subnet > on a particular ethernet interface. > Now since this is not blocked by OS, we want to somehow control which IP > Address the OS uses as Source IP while generating DNS Traffic. Is this possible > somehow? > > Further needed help on another related topic: > While we configured the DNS Server IP in resolv.conf: > - We were observing that on calling "gethostbyname()" API, OS was generating > DNS Request and on not getting any reply it was making re-attempts (6 times or > so) before returning failure. > - If 2 DNS Server IPs are configured in resolv.conf then we observe that the > delay between subsequent attempts further increases with period of each attempt > also increasing incremently. > - Also we observed that when resolv.conf is in use, then on executing "arp -a" > or doing FTP, we see that OS Starts generating DNS Traffic for each IP in ARP > Table and there is a delay in output. > > Queries: > - In Linux we know it is possible to control the number of attempts and > interval between each attempt by configuring parameters in resolv.conf. Is the > same also possible in QNX? > - How can we stop generation of DNS Traffic on execution of commands like "arp > -a" or ftp? > > Would really appreciate if you can provide some pointers for these queries. > > Thanks and Regards > Sajal > > BR > Sajal > > On Mon, Jan 5, 2015 at 8:30 PM, Nick Reilly <community-noreply@qnx.com> wrote: > > Hi Sajal, > The DNS request will be sent to the servers specified in /etc/resolv.conf > and the source address used will be the one that best routes to that > address. As there cannot be multiple addresses in the same subnet, one > address will always be chosen to access a particular DNS server. > > Can you explain in a bit more detail the issue that you are facing? > > Regards, > Nick. > > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post112822 > To cancel your subscription to this discussion, please e-mail > general-networking-unsubscribe@community.qnx.com > > Sean Boudreau(deleted) 2015-01-07T14:38:45Z post112849: Re: How to Fix the Source IP used in DNS Request sent from system. Sajal Malhotra(deleted) http://community.qnx.com/sf/go/post112849 2015-01-07T08:18:35Z 2015-01-07T08:18:35Z Hi Nick, Thanks for your Reply. It seems in QNX we can configure multiple logical IP Addresses in Same Subnet on a particular ethernet interface. Now since this is not blocked by OS, we want to somehow control which IP Address the OS uses as Source IP while generating DNS Traffic. Is this possible somehow? Further needed help on another related topic: While we configured the DNS Server IP in resolv.conf: - We were observing that on calling "gethostbyname()" API, OS was generating DNS Request and on not getting any reply it was making re-attempts (6 times or so) before returning failure. - If 2 DNS Server IPs are configured in resolv.conf then we observe that the delay between subsequent attempts further increases with period of each attempt also increasing incremently. - Also we observed that when resolv.conf is in use, then on executing "arp -a" or doing FTP, we see that OS Starts generating DNS Traffic for each IP in ARP Table and there is a delay in output. Queries: - In Linux we know it is possible to control the number of attempts and interval between each attempt by configuring parameters in resolv.conf. Is the same also possible in QNX? - How can we stop generation of DNS Traffic on execution of commands like "arp -a" or ftp? Would really appreciate if you can provide some pointers for these queries. Thanks and Regards Sajal BR Sajal On Mon, Jan 5, 2015 at 8:30 PM, Nick Reilly <community-noreply@qnx.com> wrote: > Hi Sajal, > The DNS request will be sent to the servers specified in /etc/resolv.conf > and the source address used will be the one that best routes to that > address. As there cannot be multiple addresses in the same subnet, one > address will always be chosen to access a particular DNS server. > > Can you explain in a bit more detail the issue that you are facing? > > Regards, > Nick. > > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post112822 > To cancel your subscription to this discussion, please e-mail > general-networking-unsubscribe@community.qnx.com > Sajal Malhotra(deleted) 2015-01-07T08:18:35Z post112837: Adaptative partitionning Gervot Olivier(deleted) http://community.qnx.com/sf/go/post112837 2015-01-06T16:13:33Z 2015-01-06T16:13:33Z Hi I am curently testing the adaptative partitionning I wrote the following test program. It does the following tasks Try to create a partition If already created lookup for id Joint the partition Consume CPU (while loop) #include <sys/sched_aps.h> // sched_aps_partition_info #include <sys/neutrino.h> // SchedCtl #include <stdlib.h> #include <string.h> #include <errno.h> #include <stdio.h> #include <unistd.h> // usleep int main(void) { _Int16t id = 0; // create a partition sched_aps_create_parms creation_data; memset(&creation_data, 0, sizeof(creation_data)); creation_data.budget_percent = 15; creation_data.critical_budget_ms = 0; creation_data.name = "DebugReserve"; // Ne peut etre appelle qu'une fois avec un nom donne int ret = SchedCtl( SCHED_APS_CREATE_PARTITION, &creation_data, sizeof(creation_data)); if (ret != EOK) { printf("Couldn t create partition \"%s\": %s (%d).\n", creation_data.name, strerror(errno), errno); // already created sched_aps_lookup_parms lookup_data; memset(&lookup_data , 0 , sizeof ( lookup_data ) ) ; lookup_data.name = "DebugReserve"; int ret = SchedCtl(SCHED_APS_LOOKUP, &lookup_data, sizeof(lookup_data) ); if (EOK != ret) { printf("err SchedCtl SCHED_APS_LOOKUP ret %d errno %d %s\n",ret, errno, sys_errlist[errno]); } else { //use output field printf("SchedCtl SCHED_APS_LOOKUP OK id %d\n", lookup_data.id); id = lookup_data.id; } } else { printf ("The new partition ID is %d.\n", creation_data.id); id = creation_data.id; } sched_aps_join_parms join_data; memset(&join_data, 0, sizeof(join_data)); join_data.id = id; join_data.pid = 0; join_data.tid = 0; ret = SchedCtl( SCHED_APS_JOIN_PARTITION, &join_data, sizeof(join_data)); if (ret != EOK) { printf("Couldn’t join partition %d: %s (%d).\n", join_data.id, strerror(errno), errno); } else { printf ("Process is now in partition %d.\n", join_data.id); } // Consume max CPU while(1) { //usleep(1); } return 0; } I run both 3 instance of this program if execute: aps show -v the display is +----------- CPU Time ------------+-- Critical Time -- | | Used | | Partition name id | Budget | 0.100s 1.00s 10.0s | Budget | Used --------------------+---------------------------------+------------------- System 0 | 85% | 0.13% 0.07% 0.23% | 400ms | 0.000ms DebugReserve 1 | 15% | 74.04% 73.37% 64.13% | 0ms | 0.000ms --------------------+---------------------------------+------------------- Total | 100% | 74.17% 73.44% 64.36% | The budget for the "DebugReserve" partition is 15% but the program overrun the budget of 15% what is the problem, the code or my reasoning ? Gervot Olivier(deleted) 2015-01-06T16:13:33Z post112822: Re: How to Fix the Source IP used in DNS Request sent from system. Nick Reilly http://community.qnx.com/sf/go/post112822 2015-01-05T15:00:57Z 2015-01-05T15:00:57Z Hi Sajal, The DNS request will be sent to the servers specified in /etc/resolv.conf and the source address used will be the one that best routes to that address. As there cannot be multiple addresses in the same subnet, one address will always be chosen to access a particular DNS server. Can you explain in a bit more detail the issue that you are facing? Regards, Nick. Nick Reilly 2015-01-05T15:00:57Z post112795: How to Fix the Source IP used in DNS Request sent from system. Sajal Malhotra(deleted) http://community.qnx.com/sf/go/post112795 2014-12-30T07:36:59Z 2014-12-30T07:36:59Z Hi, We were developing an application which requires DNS Resolution for certain configured URIs. Now i understand that this can be done by using APIs gethostbyname or getaddrinfo. However we have an additional problem to handle. The DNS request sent to the DNS server should use a fixed known Source IP address in the packets sent towards DNS Server. Is it possible to force/specify DNS Service to use a fixed Source IP? We have multiple logical IP addresses configured on an interface. We just want that DNS resolution should somehow be carried out using 1 specific Source IP address in the pkts sent towards DNS Server. BR Sajal Sajal Malhotra(deleted) 2014-12-30T07:36:59Z post112718: Ad-Hoc mode for wl1271 Steve Iribarne(deleted) http://community.qnx.com/sf/go/post112718 2014-12-17T17:54:13Z 2014-12-17T17:54:13Z Anyone ever tried to get this to work? I've seen conflicting reports out there about this chip/driver even supporting adhoc mode. Thanks. Steve Iribarne(deleted) 2014-12-17T17:54:13Z post112363: XML Parser Gervot Olivier(deleted) http://community.qnx.com/sf/go/post112363 2014-11-18T10:44:21Z 2014-11-18T10:44:21Z Hi I have to read a XML file on QNX 1 ) The parser must written in C code 2 ) The XML parser must be safety (SIL 1 requirements ) Is there an existing parser for theses cases ? Thank Gervot Olivier(deleted) 2014-11-18T10:44:21Z post112074: Re: Where is libspi-master? Mate Szarvas http://community.qnx.com/sf/go/post112074 2014-10-21T00:45:19Z 2014-10-21T00:45:19Z Please have a look into the prebuilt directory of your BSP if you have not yet done so. On Oct 21, 2014, at 12:54 AM, Derek Ross <community-noreply@qnx.com> wrote: > The online QNX help says: "The libspi-master library provides an interface to mediate access to the SPI master." However I can't seem to find the file anywhere after numerous greps. > > The hardware is based on the IMX6 SabreLite board. > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post112072 > To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Mate Szarvas 2014-10-21T00:45:19Z post112072: Where is libspi-master? Derek Ross(deleted) http://community.qnx.com/sf/go/post112072 2014-10-20T15:54:33Z 2014-10-20T15:54:33Z The online QNX help says: "The libspi-master library provides an interface to mediate access to the SPI master." However I can't seem to find the file anywhere after numerous greps. The hardware is based on the IMX6 SabreLite board. Derek Ross(deleted) 2014-10-20T15:54:33Z post111990: Re: GPMI NAND driver Derek Ross(deleted) http://community.qnx.com/sf/go/post111990 2014-10-08T19:32:34Z 2014-10-08T19:32:34Z Forgot to mention that our development is based on the SabreLite board. Derek Ross(deleted) 2014-10-08T19:32:34Z post111989: GPMI NAND driver Derek Ross(deleted) http://community.qnx.com/sf/go/post111989 2014-10-08T19:29:49Z 2014-10-08T19:29:49Z Hello, Is there a QNX driver for a GPMI NAND controller? The specific chip is the MT29F16G08 . I downloaded various BSPs and grepped through them, but could only find a few defines, but no actual code. Thanks! Derek Ross(deleted) 2014-10-08T19:29:49Z post111913: Re: GPIO Crownbay Will Moore(deleted) http://community.qnx.com/sf/go/post111913 2014-09-29T11:39:20Z 2014-09-29T11:39:20Z Hi Ivan, We are using the Kontron COMe mTT10 which has the EG20T topcliff PCH (not sure what board you were using) and uses the EG20T GPIO to provide 4 off GPI and 4 off GPO which, to add confusion, share pins with an SD card interface. Anything you have to help would be appreciated, known working code for the EG20T GPIO gets me one step closer to working GPIO on the COMe mTT10 ... Thanks! Will Moore(deleted) 2014-09-29T11:39:20Z post111912: Re: GPIO Crownbay Ivan Cayon http://community.qnx.com/sf/go/post111912 2014-09-29T11:13:13Z 2014-09-29T11:13:13Z Hi, Yes, I don't have the source code with me but I could use INPUT and OUTPUT. If you are interested I can take a look at the code to tell you how I did it Best Regards ! Ivan Cayon 2014-09-29T11:13:13Z post111911: Re: GPIO Crownbay Will Moore(deleted) http://community.qnx.com/sf/go/post111911 2014-09-29T10:45:58Z 2014-09-29T10:45:58Z Hi Iván, did you ever get the GPIO working? Will Moore(deleted) 2014-09-29T10:45:58Z post111888: Re: x86 6.6.0 APIC BSP terminal issue Jaychander Thiru(deleted) http://community.qnx.com/sf/go/post111888 2014-09-26T08:26:44Z 2014-09-26T08:26:44Z Sorted after setting TERM=qansi-m in terminal Jaychander Thiru(deleted) 2014-09-26T08:26:44Z post111887: x86 6.6.0 APIC BSP terminal issue Jaychander Thiru(deleted) http://community.qnx.com/sf/go/post111887 2014-09-26T08:21:52Z 2014-09-26T08:21:52Z Hi I have got a x86 board with QNX 6.6.0 BSP booted. I am having trouble executing a ncurses based application on it. The error i am getting is: Error opening terminal: qansi. I tried the default ifs image to boot the board. Adding this line /usr/lib/terminfo/q/qansi-m=C:\qnx660\target\qnx6\usr\lib\terminfo\q\qansi-m in build file does not help either. Any pointers is greatly appareciated. Regards Jaychander Thiru(deleted) 2014-09-26T08:21:52Z post111696: Re: Problem with USB on Atom based SBC and QNX 6.6 [solved] Eli Kozikaro http://community.qnx.com/sf/go/post111696 2014-09-11T05:17:44Z 2014-09-11T05:17:44Z One BIOS setting did the trick. In LPSS & SCC select ACPI mode. LPSS stands for Low Power SubSystem and SCC stands for Storage Control Cluster. Eli Kozikaro 2014-09-11T05:17:44Z post111640: Problem with USB on Atom based SBC and QNX 6.6 Eli Kozikaro http://community.qnx.com/sf/go/post111640 2014-09-04T20:18:59Z 2014-09-04T20:18:59Z I'm hoping to get some help with a new Atom SBC from Versalogic. Running QNX 6.6 the USB is not working well. USB keyboard is sluggish and drops some keystrokes. Writing to a USB mass storage is very slow. Board is booted with the generic x86 bios BSP. I would suspect the board but Windows 7 and Ubuntu 14.04 have no issues with USB on the same board. Any suggestions? Thanks, Eli Eli Kozikaro 2014-09-04T20:18:59Z post111608: Re: io-pkt avb library API Nick Reilly http://community.qnx.com/sf/go/post111608 2014-09-02T17:15:31Z 2014-09-02T17:15:31Z The lsm-avb.so is still changing as we add support for more of the AVB protocols. This is the current state. The API isn't through sockets, instead lsm-avb.so runs its own resource manager under <SOCK prefix>/dev/socket/avb as this enables us to meet the low latency requirements in some AVB scenarios even when the main io-pkt resource manager is dealing with another message. Note that an AVB enabled Ethernet driver is also required, this consists of supporting a few new ioctls along with supporting the multiple queues, shapers and time stamping that is required for AVB. Under the avb directory there is a directory of all the interfaces that may be AVB capable. Under each interface is a "time" entry used for 802.1AS packets (driven by ptpd-avb) and then individual streams are opened and closed with the stream name containing the parameters specifying the stream. Stream name is formed as: "DestMac:VLAN:Priority:Subtype:StreamId:BitDepth:SampleRate:NumSamples:NumVoices" 1722 and 1722a Draft6 streams are currently supported and a clock reference stream can also be specified on the command line. Whole packets worth of data are meant to be written and read rather than reading and writing a partial packets. The lsm-avb.so adds the header to the data and transmits on a talker stream with the correct timestamp. For listener streams the data is buffered until the presentation timestamp is reached. We do also have an io-audio driver that makes use of the lsm-avb.so. Nick Reilly 2014-09-02T17:15:31Z post111600: io-pkt avb library API Marcin Górski(deleted) http://community.qnx.com/sf/go/post111600 2014-09-01T09:32:52Z 2014-09-01T09:32:52Z Hello, While browsing QNX 6.6.0 libraries I came across a library called "lsm-avb.so". I assume that this library can be loaded to add necessary protocols to socket API in order to enable AVB traffic. Is there a place where I can find API to that library? Marcin Górski(deleted) 2014-09-01T09:32:52Z post111511: Re: Running two drivers at same time, e1000 and mx6x Sean Boudreau(deleted) http://community.qnx.com/sf/go/post111511 2014-08-20T21:34:18Z 2014-08-20T21:34:18Z ‎Start both drivers in the same instance of io-pkt rather than starting two: io-pkt -d e1000 -d dmx6x ... Sent from my BlackBerry 10 smartphone on the Rogers network. Original Message From: Derek Ross Sent: Wednesday, August 20, 2014 4:39 PM To: general-networking Reply To: general-networking@community.qnx.com Subject: Running two drivers at same time, e1000 and mx6x Hello, I can run an e1000 networking driver, it works properly. The command is: io-pkt-v4 -de1000 ...etc... ifconfig shows a wm0 device, and ping and ftp operate properly. But then if I run an MX6X ethernet driver with the command: io-pkt-v4 -dmx6x speed=100,duplex=1 Then the wm0 device is gone, replaced with fec0. Also ftp and ping stop working. However, if I kill the relevant process for fec0, then the wm0 interface re-appears, and ftp and ping start working again. Should it be possible to run both of these in parallel? For example, two types of NIC hardware might be populated on the board. Thanks! _______________________________________________ General http://community.qnx.com/sf/go/post111508 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Sean Boudreau(deleted) 2014-08-20T21:34:18Z post111508: Running two drivers at same time, e1000 and mx6x Derek Ross(deleted) http://community.qnx.com/sf/go/post111508 2014-08-20T20:39:44Z 2014-08-20T20:39:44Z Hello, I can run an e1000 networking driver, it works properly. The command is: io-pkt-v4 -de1000 ...etc... ifconfig shows a wm0 device, and ping and ftp operate properly. But then if I run an MX6X ethernet driver with the command: io-pkt-v4 -dmx6x speed=100,duplex=1 Then the wm0 device is gone, replaced with fec0. Also ftp and ping stop working. However, if I kill the relevant process for fec0, then the wm0 interface re-appears, and ftp and ping start working again. Should it be possible to run both of these in parallel? For example, two types of NIC hardware might be populated on the board. Thanks! Derek Ross(deleted) 2014-08-20T20:39:44Z post111434: Re: Manage socket during cable disconnection Gervot Olivier(deleted) http://community.qnx.com/sf/go/post111434 2014-08-14T12:36:13Z 2014-08-14T12:36:13Z Thank for your reply I ll try this Olivier Gervot Olivier(deleted) 2014-08-14T12:36:13Z post111408: Re: Manage socket during cable disconnection Nick Reilly http://community.qnx.com/sf/go/post111408 2014-08-13T14:22:12Z 2014-08-13T14:22:12Z If you just want to look at the link state of the node then it is reported by ifconfig and can be fetched programatically by doing a SIOCGIFDATA and looking at the ifdata.ifdr_data.ifi_link_state N.B. This only reports the node link state, if the path between the two TCP endpoints is broken somewhere in the middle then the node link state may still be up. I think what you are actually looking for is the TCP Keepalive mechanism, please see our documentation and example code for it: http://www.qnx.com/developers/docs/660/index.jsp?topic=%2Fcom.qnx.doc.neutrino.lib_ref%2Ftopic%2Fg%2Fgetsockopt.html&anchor=getsockopt__Keepalive Nick Reilly 2014-08-13T14:22:12Z post111402: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Hugh Brown http://community.qnx.com/sf/go/post111402 2014-08-13T13:20:55Z 2014-08-13T13:20:55Z OK, thanks. On 2014/8/13, 9:19 AM, "Steve Iribarne" <community-noreply@qnx.com> wrote: >It seems to be much better. So I'd say this is now solved. > > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post111401 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-08-13T13:20:55Z post111401: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Steve Iribarne(deleted) http://community.qnx.com/sf/go/post111401 2014-08-13T13:19:40Z 2014-08-13T13:19:40Z It seems to be much better. So I'd say this is now solved. Steve Iribarne(deleted) 2014-08-13T13:19:40Z post111398: Manage socket during cable disconnection Gervot Olivier(deleted) http://community.qnx.com/sf/go/post111398 2014-08-13T08:49:34Z 2014-08-13T08:49:34Z Hi I have to manage the case of the cable disconnection. Then it occured the "send" function work a little time (buffer filling) then the "send" function block during a very long time out (many minutes). Is there a way to detect this case (cable disconnection) ? Is there a way to manage this timeout ? Thank Olivier Gervot Olivier(deleted) 2014-08-13T08:49:34Z post111378: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Steve Iribarne(deleted) http://community.qnx.com/sf/go/post111378 2014-08-11T18:10:00Z 2014-08-11T18:10:00Z That driver looks much better.. I'll be testing it now in my "production" world. I will report when/if I find something. In addition I will report if everything works. Steve Iribarne(deleted) 2014-08-11T18:10:00Z post111374: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Hugh Brown http://community.qnx.com/sf/go/post111374 2014-08-11T15:56:32Z 2014-08-11T15:56:32Z Driver attached. This version is a native io-pkt driver. On 2014/8/11, 11:51 AM, "Steve Iribarne" <community-noreply@qnx.com> wrote: >ARM > >Thanks.. that would be fantastic!! > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post111373 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-08-11T15:56:32Z post111373: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Steve Iribarne(deleted) http://community.qnx.com/sf/go/post111373 2014-08-11T15:51:08Z 2014-08-11T15:51:08Z ARM Thanks.. that would be fantastic!! Steve Iribarne(deleted) 2014-08-11T15:51:08Z post111372: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Hugh Brown http://community.qnx.com/sf/go/post111372 2014-08-11T15:45:53Z 2014-08-11T15:45:53Z There have been numerous updates to the Asix driver, so I can send you an experimental version. What platform are you running on - x86 or ARM? On 2014/8/11, 11:38 AM, "Steve Iribarne" <community-noreply@qnx.com> wrote: >io-pkt-v4-hc -ptcpip prefix=/alt & <- this is in my build shell, this >one doesn't ever leak. > > >io-pkt-v4-hc -dasix -ptcpip prefix=/alt2 <- this is the one that leaks. > > use -i io-pkt-v4-hc >NAME=io-pkt-v4-hc >DESCRIPTION=TCP/IP protocol module. >DATE=2012/06/20-13:36:20-EDT >STATE=stable >HOST=gusbuild4 >USER=builder >VERSION=6.5.0 >TAGID=650SP1-166 > >To simplify stuff I'm only loading this one right now. And I have no >telnet either, just dhcp. It's been running for about 15 minutes no leak >yet. > >I'll give it 5 more minutes and then start a telnet session to see if >that causes the leak. > > > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post111371 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-08-11T15:45:53Z post111371: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Steve Iribarne(deleted) http://community.qnx.com/sf/go/post111371 2014-08-11T15:38:45Z 2014-08-11T15:38:45Z io-pkt-v4-hc -ptcpip prefix=/alt & <- this is in my build shell, this one doesn't ever leak. io-pkt-v4-hc -dasix -ptcpip prefix=/alt2 <- this is the one that leaks. use -i io-pkt-v4-hc NAME=io-pkt-v4-hc DESCRIPTION=TCP/IP protocol module. DATE=2012/06/20-13:36:20-EDT STATE=stable HOST=gusbuild4 USER=builder VERSION=6.5.0 TAGID=650SP1-166 To simplify stuff I'm only loading this one right now. And I have no telnet either, just dhcp. It's been running for about 15 minutes no leak yet. I'll give it 5 more minutes and then start a telnet session to see if that causes the leak. Steve Iribarne(deleted) 2014-08-11T15:38:45Z post111370: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Gervais Mulongoy http://community.qnx.com/sf/go/post111370 2014-08-11T15:32:36Z 2014-08-11T15:32:36Z Which devnp drivers are you using and can you confirm the version by copying the output of "use -i" for each? Gervais Mulongoy 2014-08-11T15:32:36Z post111369: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Steve Iribarne(deleted) http://community.qnx.com/sf/go/post111369 2014-08-11T15:15:58Z 2014-08-11T15:15:58Z Thanks for the quick replies. Gervais -- Yes there is "some" networking traffic. I have a dhcp client running on both interfaces. I have telnet running on one of the interfaces. I'll look at the unconfigure to see if that yields anything Nick -- This is a leak. Memory will keep disappearing until the system "crashes". I can't fork, I can't do anything. I'll check the netstat -m no ppp Steve Iribarne(deleted) 2014-08-11T15:15:58Z post111368: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Nick Reilly http://community.qnx.com/sf/go/post111368 2014-08-11T15:07:51Z 2014-08-11T15:07:51Z io-pkt uses a pool allocation mechanism that at startup can slowly grow until a steady state is achieved after a few minutes. Is this "leak" shortly after startup or is it once io-pkt has been running for a while? Also check with "netstat -m" to see if the memory leak is perhaps an mbuf leak. Do you have any ppp interfaces? We have addressed a leak in ppp dial on demand. Nick Reilly 2014-08-11T15:07:51Z post111367: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? Gervais Mulongoy http://community.qnx.com/sf/go/post111367 2014-08-11T15:07:18Z 2014-08-11T15:07:18Z Is there any type of networking activity occurring on those two instances? Or are you seeing the increase in memory consumption with the interfaces configured or unconfigured? Gervais Mulongoy 2014-08-11T15:07:18Z post111366: io-pkt-v4-hc (6.5.0SP1) memory leak?? Steve Iribarne(deleted) http://community.qnx.com/sf/go/post111366 2014-08-11T15:02:22Z 2014-08-11T15:02:22Z I'm seeing about a 4K memory leak from io-pkt-v4-hc. I have QNX 6.5.0 SP1 installed. I have three io-pkt-v4-hc loaded. Two of them show memory leaks... 1. Connected to enet. 2. Conneded to wifi. # showmem -P Process listing (Total, Code, Data, Heap, Stack, Other) 1097728 106496 53248 843776 94208 0 24594 io-pkt-v4-hc 3297280 974848 57344 2166784 98304 0 122906 io-pkt-v4-hc a few minutes later. 1105920 106496 53248 851968 94208 0 24594 io-pkt-v4-hc 3305472 974848 57344 2174976 98304 0 122906 io-pkt-v4-hc clearly we can see that the io-pkt-v4-hc's Heap is growing. Any help would be appreciated. -stv Steve Iribarne(deleted) 2014-08-11T15:02:22Z post111067: Re: How to configure ntp? andi Smith(deleted) http://community.qnx.com/sf/go/post111067 2014-07-16T10:55:35Z 2014-07-16T10:55:35Z I had a very similar issue to the one described above. I was using NTP to synchronize to a local GPS NTP server (http://www.timetoolsglobal.com/information/gps-ntp-server/) and had similar results to above - specifically synchronizing to a stratum 16 server. It turns out that 16 is an invalid stratum indicating that the NTP server is not synchronized. Try specifying a local clock stratum of less than 16 - say 10. It should then be OK. Andi andi Smith(deleted) 2014-07-16T10:55:35Z post110840: Re: Verifying for a hardware loopback connection Prashant Singh Parihar http://community.qnx.com/sf/go/post110840 2014-06-24T11:16:27Z 2014-06-24T11:16:27Z I tried the method you suggested, as I verified by checking for 'ls /alt1' and 'ls /alt2' but I am not sure that they are still in same layer, as when I tried I got following o/p: I tried to ping 192.168.2.14 (wm0 interface). # SOCK=/alt2 ping 192.168.2.14 PING 192.168.2.14 (192.168.2.14): 56 data bytes ping: sendto: No route to host ping: sendto: No route to host ping: sendto: No route to host ping: sendto: No route to host here '/alt2' is assigned to en1 ( physically USB to ethernet dongle) with IP as 192.168.3.11 Both the interfaces are physically connected. This doesn't works for me. Any suggestions will be helpful in this respect? Thanks, Prashant Prashant Singh Parihar 2014-06-24T11:16:27Z post110754: Re: Verifying for a hardware loopback connection Nick Reilly http://community.qnx.com/sf/go/post110754 2014-06-18T17:26:59Z 2014-06-18T17:26:59Z Packet filtering with lsm-pf is different from the BPF API. However BPF is still going to require root access. Nick Reilly 2014-06-18T17:26:59Z post110753: Re: Verifying for a hardware loopback connection Prashant Singh Parihar http://community.qnx.com/sf/go/post110753 2014-06-18T17:02:33Z 2014-06-18T17:02:33Z Thanks for replying! I tried to implement Packet Filtering before this posting this problem in Forum, but as it is a Target Board, with very limited permission, and that needs other configuration to be setup like pf.conf etc to use which I am not able to configure, thus that possibility is ruled out. Prashant Singh Parihar 2014-06-18T17:02:33Z post110743: Re: Verifying for a hardware loopback connection Nick Reilly http://community.qnx.com/sf/go/post110743 2014-06-18T12:30:26Z 2014-06-18T12:30:26Z Does it have to be a ping? Using BPF it's possible to send a particular packet and also receive packets. It would be quite simple to build a ping-like application. Nick Reilly 2014-06-18T12:30:26Z post110742: Re: Verifying for a hardware loopback connection Gervais Mulongoy http://community.qnx.com/sf/go/post110742 2014-06-18T11:27:57Z 2014-06-18T11:27:57Z If your interfaces are on the same layer 3 network then this won't work since all packets will always leave from only one interface because of how the routing table works. To work around this you would either need make sure the interfaces are on different layer 3 networks and setup static routes for each OR you will need to run two instances of io-pkt, one for each interface then you can have both interfaces on the same layer 3 - you will also need to give set io-pkt option "-ptcpip prefix=/altX" (where X is the instance number) for each instance so that applications can target a specific instance: SOCK=/alt1 ping <destination address2> SOCK=/alt2 ping <destination address1> See the online documentation for io-pkt for details. On 14-06-18 06:14 AM, Prashant Singh Parihar wrote: > Hi, > > I had a requirement in which I need to verify for a hardware loopback connection running in QNX on a Target Board. In order to test for the loopback connection I need to ping via one interface (assume en0) to other interface ( assume wm0 ) and vice versa. The ping should only respond if the two interfaces are physically connected, and shouldn't respond when not connected physically. > I am not able to find any suitable method to implement this, as QNX doesnt have support for ping via interface as in Linux using '-I' as selected interface neither it has support for IP Tables in my knowledge. > Any guidance to implement hardware loopback connection will be of great help. > > Thanks, > Prashant. > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post110740 > To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Gervais Mulongoy 2014-06-18T11:27:57Z post110740: Verifying for a hardware loopback connection Prashant Singh Parihar http://community.qnx.com/sf/go/post110740 2014-06-18T10:14:44Z 2014-06-18T10:14:44Z Hi, I had a requirement in which I need to verify for a hardware loopback connection running in QNX on a Target Board. In order to test for the loopback connection I need to ping via one interface (assume en0) to other interface ( assume wm0 ) and vice versa. The ping should only respond if the two interfaces are physically connected, and shouldn't respond when not connected physically. I am not able to find any suitable method to implement this, as QNX doesnt have support for ping via interface as in Linux using '-I' as selected interface neither it has support for IP Tables in my knowledge. Any guidance to implement hardware loopback connection will be of great help. Thanks, Prashant. Prashant Singh Parihar 2014-06-18T10:14:44Z post110491: Re: Timing resolution for tcpdump / libpcap Armin Steinhoff http://community.qnx.com/sf/go/post110491 2014-05-27T09:37:52Z 2014-05-27T09:37:52Z J Sinton wrote: > Thank you for pointing in that direction. Just a proposal for an other direction ... a solution could be: http://community.qnx.com/sf/discussion/do/listPosts/projects.networking/discussion.drivers.topc24497 "testpmd" is using pollmode drivers from Intel for Intel adapters. These drivers are UIO based Linux drivers (user space drivers) ported to QNX6.x Please have also a look to this; http://community.qnx.com/sf/discussion/do/listPosts/projects.networking/discussion.drivers.topc24497?_pagenum=2 You will get a time resolution in the range of microseconds ... --Armin > > It seems perhaps I was experiencing two problems with different causes. > > I wrote a beautiful and inspiring post that had all the details, but it just vanished. I'm afraid the replacement will have to be quite a bit shorter. > > Following the above suggestion, I found a good post that explained exactly the resolution issue of tcpdump, unfortunately searching for it again I can't find it a second time. But around 8 to 10mS is the limit, so trying to use tcpdump to see what's happening at a finer resolution is not currently useful. > > I should have noticed that the 'clumping' in tcpdump was different from the 'clumping' I saw (I had confirmed the messages were arriving very close together - not just timestamped together - by using the equivalent of clockcycles()). The tcpdump grouping was multiple messages receiving the same timestamp because of limited resolution, where the pcap grouping is for another reason. > > There is a parameter to pcap open live that gives the milliseconds to wait on receive. However, entering zero does NOT cause it to return immediately, and it appears that QNX correctly implements the zero behaviour defined by BSD, which is that on zero it will return after one buffer - how many messages that is depends on the size of the buffer you specify, and how big incoming messages are. If all messages were more than 1/2 the size of the buffer, then it would work as 'immediate'. > > But experimenting with the BPF alternative led me eventually to this post: > > http://community.qnx.com/sf/discussion/do/listPosts/projects.networking/discussion.technology.topc3493 > > ... which led to ... > > http://hostap.epitest.fi/wpa_supplicant/ > > I added this ioctl after the pcap open: > unsigned int iOn = 1; > if( 0 > ioctl( pcap_fileno( g_psPlatformPcapDesc ), BIOCIMMEDIATE, &iOn ) ) > { > fprintf(stderr, "Error: %.40s: %d: Cannot enable immediate mode on interface %s\n", __func__, __LINE__, strerror(errno)); // TODO ideally add interface name here > return -1; > } > > Timing of individual incoming messages was within 500uS of the expected value. I actually then had more problem with sending, as for some reason I was getting up to 900uS of jitter (as measured by clock cycles around the sending function). I'm guessing this is a result of needing to understand more now of priorities etc. on QNX, as I can get normally better than that on Linux and Windows. I'd hope for about 10X better than that, maybe with using processor affinity etc. (though on this QNX platform I only have two cores, so I was hoping QNX magic would allow me to avoid dedicating a core to this). > > In both cases, the timing limits above were exceeded about 30 times in the first 10 million 5mS message group tests, but nearly 40 million 5mS frames since then, all send and receive messages have been under the above limits without exception. More work to do to understand why, but the original issue is solved. > > Summary: > > 1. It would be misleading to use tcpdump on 6.5 to investigate message resolution finer than 10mS, > > 2. To get immediate notification of received messages in libpcap, use a zero (some examples show -1) parameter for the receive wait time, and use an ioctl with BIOCIMMEDIATE on the handle when it is opened. > > Thanks! > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post110490 > To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com > Armin Steinhoff 2014-05-27T09:37:52Z post110490: Re: Timing resolution for tcpdump / libpcap J Sinton(deleted) http://community.qnx.com/sf/go/post110490 2014-05-26T15:04:00Z 2014-05-26T15:04:00Z Thank you for pointing in that direction. It seems perhaps I was experiencing two problems with different causes. I wrote a beautiful and inspiring post that had all the details, but it just vanished. I'm afraid the replacement will have to be quite a bit shorter. Following the above suggestion, I found a good post that explained exactly the resolution issue of tcpdump, unfortunately searching for it again I can't find it a second time. But around 8 to 10mS is the limit, so trying to use tcpdump to see what's happening at a finer resolution is not currently useful. I should have noticed that the 'clumping' in tcpdump was different from the 'clumping' I saw (I had confirmed the messages were arriving very close together - not just timestamped together - by using the equivalent of clockcycles()). The tcpdump grouping was multiple messages receiving the same timestamp because of limited resolution, where the pcap grouping is for another reason. There is a parameter to pcap open live that gives the milliseconds to wait on receive. However, entering zero does NOT cause it to return immediately, and it appears that QNX correctly implements the zero behaviour defined by BSD, which is that on zero it will return after one buffer - how many messages that is depends on the size of the buffer you specify, and how big incoming messages are. If all messages were more than 1/2 the size of the buffer, then it would work as 'immediate'. But experimenting with the BPF alternative led me eventually to this post: http://community.qnx.com/sf/discussion/do/listPosts/projects.networking/discussion.technology.topc3493 ... which led to ... http://hostap.epitest.fi/wpa_supplicant/ I added this ioctl after the pcap open: unsigned int iOn = 1; if( 0 > ioctl( pcap_fileno( g_psPlatformPcapDesc ), BIOCIMMEDIATE, &iOn ) ) { fprintf(stderr, "Error: %.40s: %d: Cannot enable immediate mode on interface %s\n", __func__, __LINE__, strerror(errno)); // TODO ideally add interface name here return -1; } Timing of individual incoming messages was within 500uS of the expected value. I actually then had more problem with sending, as for some reason I was getting up to 900uS of jitter (as measured by clock cycles around the sending function). I'm guessing this is a result of needing to understand more now of priorities etc. on QNX, as I can get normally better than that on Linux and Windows. I'd hope for about 10X better than that, maybe with using processor affinity etc. (though on this QNX platform I only have two cores, so I was hoping QNX magic would allow me to avoid dedicating a core to this). In both cases, the timing limits above were exceeded about 30 times in the first 10 million 5mS message group tests, but nearly 40 million 5mS frames since then, all send and receive messages have been under the above limits without exception. More work to do to understand why, but the original issue is solved. Summary: 1. It would be misleading to use tcpdump on 6.5 to investigate message resolution finer than 10mS, 2. To get immediate notification of received messages in libpcap, use a zero (some examples show -1) parameter for the receive wait time, and use an ioctl with BIOCIMMEDIATE on the handle when it is opened. Thanks! J Sinton(deleted) 2014-05-26T15:04:00Z post110486: Re: Timing resolution for tcpdump / libpcap Gervais Mulongoy http://community.qnx.com/sf/go/post110486 2014-05-26T12:15:56Z 2014-05-26T12:15:56Z I will start by saying this is a known issue and there's already a solution in the works. 1) Unfortunately io-pkt is deciding on the timing resolution of the timestamps this affects pcap and tcpdump - there isn't anyway to workaround it at this time 2) The timing resolution doesn't affect packet reception/transmission it only affects the timestamp - you can still use BPF, for example, to monitor the packets as they arrive and stamp them yourself. The timing resolution is decided by io-pkt On 14-05-23 04:11 PM, J Sinton wrote: > Two questions: > > 1. Where could this timing granularity be coming from, and is there any way to configure or code around it? > > 2. Using some other approach, such as BPF (seems that may be old) or lsm-nraw, can anyone confirm that they are able to receive Ethernet messages at the application level with timing granularity in the 200uS or better range? What general hardware/OS/software approach did you use to achieve it? Gervais Mulongoy 2014-05-26T12:15:56Z post110480: Timing resolution for tcpdump / libpcap J Sinton(deleted) http://community.qnx.com/sf/go/post110480 2014-05-23T20:11:00Z 2014-05-23T20:11:00Z Hi, I have an application that must send and receive various UDP packets (including unicast, broadcast, multicast - it's for a test simulator) within fairly small time windows (500uS or less). I am currently desktop test hardware QNX localhost 6.5.0 2010/07/09-14:44:03EDT x86pc x86. The specific Ethernet adapter info is below. By setting the tick resolution to a small value (around 10uS), and setting the NIC driver in enum to promiscuous mode, and hand-tuning the delay in a timer calls, I can send UDP packets as I need using libpcap, which is what I've done on other non-QNX platforms. However, when I use libpcap to receive packets, it appears that packets are clumped together, and only delivered on specific time intervals (about every 8.39mS on this system). I've tried using both pcap_loop and pcap_dispatch, changing the priority of the receiving thread all the way to 63 (priority seems to make no difference, high or low), and verifying using Wireshark from another platform that the incoming packets are at the expected times and are properly separated in time. The load on the machine during testing is typically very low - hogs reports idle in very high 90s, and the problem persists even when sending very few packets (e.g. one every 5mS). All time measurement in the application code are using CLOCK_MONOTONIC. nanosleep is used on the sending side between outgoing messages, and the receiver is message driven from pcap_loop or pcap_dispatch from a high-priority thread with nothing else (no GUI) running on the box. When I tried to investigate further on the machine with tcpdump, I discovered that the messages shown there seem to be subject to the same clumping: Groups of messages all have the same timestamp, and groups of messages all have time gaps of about 8.4mS. Knowing little about QNX, it looks like there is timing granularity (<>10mS) that affects both libpcap and tcpdump, even when the granularity at the user application level is successfully much less (<>10uS). libpcap normally works wonderfully for what I need once the OS tick is OK (Linux and Windows), but I just need to deliver the application and I'm not tied to it if this is a difficult-to-surmount libpcap issue. Two questions: 1. Where could this timing granularity be coming from, and is there any way to configure or code around it? 2. Using some other approach, such as BPF (seems that may be old) or lsm-nraw, can anyone confirm that they are able to receive Ethernet messages at the application level with timing granularity in the 200uS or better range? What general hardware/OS/software approach did you use to achieve it? Many thanks for any suggestions for solutions or further investigation. I'm stuck! Best regards, John Ethernet driver / NIC info io-pkt-v4-hc -d speedo promiscuous -p tcpip INTEL 82558 Ethernet Controller Physical Node ID ........................... 0019DB BB621E Current Physical Node ID ................... 0019DB BB621E Current Operation Rate ..................... 100.00 Mb/s full-duplex Active Interface Type ...................... MII Active PHY address ....................... 1 Maximum Transmittable data Unit ............ 1514 Maximum Receivable data Unit ............... 1514 Hardware Interrupt ......................... 0x5 I/O Aperture ............................... 0xef00 - 0xef3f Memory Aperture ............................ 0xfdcff000 - 0xfdcfffff ROM Aperture ............................... 0x80dbf6b07fa5a04 Promiscuous Mode ........................... On Multicast Support .......................... Enabled J Sinton(deleted) 2014-05-23T20:11:00Z post110220: Re: Duplicate packets and foward into two NIC Gervais Mulongoy http://community.qnx.com/sf/go/post110220 2014-05-08T12:11:49Z 2014-05-08T12:11:49Z I am not sure I understand what you are asking, but I attached and updated and simpler version of the port mirroring module. Again it is provided as-is, but it works a lot better than my initial version. On 14-05-08 03:22 AM, rich lee wrote: > Use new program to send two NIC is OK now. But when I break the original line, the mirror line also stop to work. I hope when i break the original line , the mirror line can still transmit. How can i do? > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post110211 > To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Gervais Mulongoy 2014-05-08T12:11:49Z post110211: Re: Duplicate packets and foward into two NIC rich lee(deleted) http://community.qnx.com/sf/go/post110211 2014-05-08T07:22:03Z 2014-05-08T07:22:03Z Use new program to send two NIC is OK now. But when I break the original line, the mirror line also stop to work. I hope when i break the original line , the mirror line can still transmit. How can i do? rich lee(deleted) 2014-05-08T07:22:03Z post109729: Re: RE: RE: RE: gps coordinates marco spinetti(deleted) http://community.qnx.com/sf/go/post109729 2014-04-01T14:50:01Z 2014-04-01T14:50:01Z I could try to listen to socket opened by gpsd or similar in the MMI. Using qnx how can I find opened sockets and runnings processes? Can I run these commands? ps auxww > $SDPath/f1.txt || true ps -elfww > $SDPath/f2.txt || true netstat -an > $SDPath/f3.txt || true marco spinetti(deleted) 2014-04-01T14:50:01Z post109726: RE: RE: RE: gps coordinates Mario Charest http://community.qnx.com/sf/go/post109726 2014-04-01T13:06:46Z 2014-04-01T13:06:46Z You could but that will most probably interfere with what ever software is using the gps. -----Message d'origine----- De : marco spinetti [mailto:community-noreply@qnx.com] Envoyé : Tuesday, April 01, 2014 9:12 AM À : general-networking Objet : Re: RE: RE: gps coordinates Ok. It is clear. Anyway can I install in sdcard a daemon (for example gpsd) to read gps coordinates? When I insert an sdcard I'm able to read it using: #!/bin/ksh sdcard=`ls /mnt|grep sdcard.*t` SDPath=/mnt/$sdcard mount -u $SDPath How to execute a daemon gpsd and query it? Thanks _______________________________________________ General http://community.qnx.com/sf/go/post109719 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Mario Charest 2014-04-01T13:06:46Z post109724: Re: RE: RE: gps coordinates marco spinetti(deleted) http://community.qnx.com/sf/go/post109724 2014-04-01T12:40:58Z 2014-04-01T12:40:58Z I think I can solve my problem if I could execute command tool gpspipe from sdcard. How can I do it? Thanks marco spinetti(deleted) 2014-04-01T12:40:58Z post109719: Re: RE: RE: gps coordinates marco spinetti(deleted) http://community.qnx.com/sf/go/post109719 2014-04-01T12:11:41Z 2014-04-01T12:11:41Z Ok. It is clear. Anyway can I install in sdcard a daemon (for example gpsd) to read gps coordinates? When I insert an sdcard I'm able to read it using: #!/bin/ksh sdcard=`ls /mnt|grep sdcard.*t` SDPath=/mnt/$sdcard mount -u $SDPath How to execute a daemon gpsd and query it? Thanks marco spinetti(deleted) 2014-04-01T12:11:41Z post109662: RE: RE: gps coordinates Mario Charest http://community.qnx.com/sf/go/post109662 2014-03-28T10:11:15Z 2014-03-28T10:11:15Z QNX doesn`t provide an API for GPS and GPS are very simple device connected to serial port. Blackberry OS probably has one because it needs to be shared/managed across applications, don`t confuse the two OSes ;-) That being said even if there was, Audi might have decided not to use it. Car systems are NOT opened , they are totally proprietary, any expectations you have could turn out to be wrong. -----Message d'origine----- De : marco spinetti [mailto:community-noreply@qnx.com] Envoyé : Friday, March 28, 2014 7:01 AM À : general-networking Objet : Re: RE: gps coordinates Are you telling me that they are not using an api of qnx to get them? I supposed that there was an api to get this information. _______________________________________________ General http://community.qnx.com/sf/go/post109661 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Mario Charest 2014-03-28T10:11:15Z post109661: Re: RE: gps coordinates marco spinetti(deleted) http://community.qnx.com/sf/go/post109661 2014-03-28T10:00:43Z 2014-03-28T10:00:43Z Are you telling me that they are not using an api of qnx to get them? I supposed that there was an api to get this information. marco spinetti(deleted) 2014-03-28T10:00:43Z post109660: RE: gps coordinates Mario Charest http://community.qnx.com/sf/go/post109660 2014-03-28T09:58:21Z 2014-03-28T09:58:21Z You would need to contact Audi or whoever made the system for them. -----Message d'origine----- De : marco spinetti [mailto:community-noreply@qnx.com] Envoyé : Friday, March 28, 2014 5:57 AM À : general-networking Objet : gps coordinates Hi all, I'm trying to undestand how to develop an application web based for Audi MMI 3G system. Audi MMi 3G unit is based on qnx 6.4 and I'd like to find a way to get gps coordinates to use in an application. Is there any api I can call to get current gps coordinates? Thansk _______________________________________________ General http://community.qnx.com/sf/go/post109659 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Mario Charest 2014-03-28T09:58:21Z post109659: gps coordinates marco spinetti(deleted) http://community.qnx.com/sf/go/post109659 2014-03-28T08:57:01Z 2014-03-28T08:57:01Z Hi all, I'm trying to undestand how to develop an application web based for Audi MMI 3G system. Audi MMi 3G unit is based on qnx 6.4 and I'd like to find a way to get gps coordinates to use in an application. Is there any api I can call to get current gps coordinates? Thansk marco spinetti(deleted) 2014-03-28T08:57:01Z post109451: Re: tso4 and checksum Hugh Brown http://community.qnx.com/sf/go/post109451 2014-03-17T11:47:38Z 2014-03-17T11:47:38Z This has been fixed since the release of 6.6.0. I haven¹t done any throughput tests comparing TSO4 with checksum offload, so I guess that it is best to experiment and see which gives you the better throughput. On 2014/3/14, 3:47 PM, "Mario Charest" <community-noreply@qnx.com> wrote: >The doc of 6.6 didn't mention that tso4 and checksums capability couldn't >be activated together with e1000. I was told a while ago that they >couldn't. Seems that hasn't changed with 6.6. Steve if you are reading >this maybe it worth mentionning in the doc. > >I find it strange though because on the same hardware windows driver does >have all these options actived without any issue. > >What's best for cpu load and/or throughput, TSO4 or CHECKSUM ? > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post109442 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-03-17T11:47:38Z post109442: tso4 and checksum Mario Charest http://community.qnx.com/sf/go/post109442 2014-03-14T19:47:51Z 2014-03-14T19:47:51Z The doc of 6.6 didn't mention that tso4 and checksums capability couldn't be activated together with e1000. I was told a while ago that they couldn't. Seems that hasn't changed with 6.6. Steve if you are reading this maybe it worth mentionning in the doc. I find it strange though because on the same hardware windows driver does have all these options actived without any issue. What's best for cpu load and/or throughput, TSO4 or CHECKSUM ? Mario Charest 2014-03-14T19:47:51Z post108976: Re: Duplicate packets and foward into two NIC Gervais Mulongoy http://community.qnx.com/sf/go/post108976 2014-02-21T13:05:36Z 2014-02-21T13:05:36Z My patch missed a line: Add p = mtod(m1, char*); after line 89 (memset()). I have updated the support ticket with this same response. See attached file which has the correct patch. Sorry about that. On 14-02-20 07:24 PM, rich lee wrote: > The pointer *p address null, so the program crash. What should I write for this pointer? Take destination ip 192.168.1.1 for example, how to fill-in this p pointer? Or, do you mean take ip from output_hook mbuf? > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post108966 > To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Gervais Mulongoy 2014-02-21T13:05:36Z post108966: Re: Duplicate packets and foward into two NIC rich lee(deleted) http://community.qnx.com/sf/go/post108966 2014-02-21T00:24:37Z 2014-02-21T00:24:37Z The pointer *p address null, so the program crash. What should I write for this pointer? Take destination ip 192.168.1.1 for example, how to fill-in this p pointer? Or, do you mean take ip from output_hook mbuf? rich lee(deleted) 2014-02-21T00:24:37Z post108925: Re: Duplicate packets and foward into two NIC Gervais Mulongoy http://community.qnx.com/sf/go/post108925 2014-02-20T13:23:31Z 2014-02-20T13:23:31Z The issue was that in the sample provided there's an expectation that the full frame was being passed to the output hook in this particular case the IP packet was in the mbuf, need to set AF_INET and to set the destination IP address so the stack resolves it and prepends the ethernet header prior to sending the packet. See the attached sample. Gervais Mulongoy 2014-02-20T13:23:31Z post108909: Re: Duplicate packets and foward into two NIC Robert Pera http://community.qnx.com/sf/go/post108909 2014-02-20T00:35:18Z 2014-02-20T00:35:18Z I am interesting in this topic, too The attached jpgs shows that the duplicated outgoing packet did not include the source Ethernet MAC address of the 2nd interface. It is very strange situation that the Ethernet driver did not prefix MAC and pass it out directly. Does the pfil of QNX is 100% equal to FreeBSD? Robert Pera 2014-02-20T00:35:18Z post108854: Re: Duplicate packets and foward into two NIC Gervais Mulongoy http://community.qnx.com/sf/go/post108854 2014-02-18T12:22:52Z 2014-02-18T12:22:52Z See the support ticket for a response. On 14-02-16 10:38 PM, rich lee wrote: > I try to duplicate packets and foward into two NIC using pfil, the source code as follow. But the pfil can't catch ethernet header. Is any one help me how can catch ethernet header using pfil. > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post108826 > To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Gervais Mulongoy 2014-02-18T12:22:52Z post108826: Duplicate packets and foward into two NIC rich lee(deleted) http://community.qnx.com/sf/go/post108826 2014-02-17T03:38:58Z 2014-02-17T03:38:58Z I try to duplicate packets and foward into two NIC using pfil, the source code as follow. But the pfil can't catch ethernet header. Is any one help me how can catch ethernet header using pfil. rich lee(deleted) 2014-02-17T03:38:58Z post108115: Re: asix usb ethernet dongle problem a l(deleted) http://community.qnx.com/sf/go/post108115 2014-01-23T09:30:50Z 2014-01-23T09:30:50Z Turned out the target had some custom enum system.. That system prevented my manually loaded driver from working.. I changed the vid&pid in the system img (hexedit) so it loads my dongle driver with the custom enum system..and it works like a charm. Thanks for your help !! a l(deleted) 2014-01-23T09:30:50Z post108095: Re: asix usb ethernet dongle problem Hugh Brown http://community.qnx.com/sf/go/post108095 2014-01-22T17:37:00Z 2014-01-22T17:37:00Z It sounds to me as though you have a USB problem with that target, rather than a network driver problem. We have a lot of those DLink dongles here that we use all the time, so I know that the driver works. I cannot help you with USB problems, so maybe you should post this question on another conference. On 2014/1/22, 12:32 PM, "a l" <community-noreply@qnx.com> wrote: >The dongle currently works on the vm-ware x86 image..and on a other >target (also arm-le) > >I tried driver from that target , same result. >Difference is that the other target is prepared for this dongle (driver >loaded via enum..ect). > >Can there be something on the target that causes this error..? >it's giving me a lot of trouble.. >Also can't load devc-serusb (can't create /dev/serusb error)..so no comm >at the moment..other that the boot script from usb. > >Thanks > > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post108094 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-01-22T17:37:00Z post108094: Re: asix usb ethernet dongle problem a l(deleted) http://community.qnx.com/sf/go/post108094 2014-01-22T17:32:15Z 2014-01-22T17:32:15Z The dongle currently works on the vm-ware x86 image..and on a other target (also arm-le) I tried driver from that target , same result. Difference is that the other target is prepared for this dongle (driver loaded via enum..ect). Can there be something on the target that causes this error..? it's giving me a lot of trouble.. Also can't load devc-serusb (can't create /dev/serusb error)..so no comm at the moment..other that the boot script from usb. Thanks a l(deleted) 2014-01-22T17:32:15Z post108091: Re: asix usb ethernet dongle problem Hugh Brown http://community.qnx.com/sf/go/post108091 2014-01-22T15:36:46Z 2014-01-22T15:36:46Z Yes, io-pkt drivers don¹t create a /dev/io-net. Has this dongle worked before? The fact that both drivers indicate the same problem, seems to indicate a hardware problem. On 2014/1/22, 10:26 AM, "a l" <community-noreply@qnx.com> wrote: >Thanks for your help , really appreciated !! > >With the new driver.. (mount -Tio-pkt /fs/U0/devnp-asix.so) >- The dongle start..led turn on (same as old driver) >- No /dev/io-net is created > >syslog: >Jan 01 00:00:22 5 10 0 ax_detect: attached [bus 0, dev 5] >Jan 01 00:00:22 5 14 0 ax0 >Jan 01 00:00:25 5 10 0 ax_detect: attached AX interfaces 0 >Jan 01 00:00:25 5 10 0 ax_detect: found 1 device >Jan 01 00:00:56 2 10 0 error 2 >Jan 01 00:00:56 2 10 0 ax_initialize: unable to enqueue rcv >buffer 13 > > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post108090 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-01-22T15:36:46Z post108090: Re: asix usb ethernet dongle problem a l(deleted) http://community.qnx.com/sf/go/post108090 2014-01-22T15:26:49Z 2014-01-22T15:26:49Z Thanks for your help , really appreciated !! With the new driver.. (mount -Tio-pkt /fs/U0/devnp-asix.so) - The dongle start..led turn on (same as old driver) - No /dev/io-net is created syslog: Jan 01 00:00:22 5 10 0 ax_detect: attached [bus 0, dev 5] Jan 01 00:00:22 5 14 0 ax0 Jan 01 00:00:25 5 10 0 ax_detect: attached AX interfaces 0 Jan 01 00:00:25 5 10 0 ax_detect: found 1 device Jan 01 00:00:56 2 10 0 error 2 Jan 01 00:00:56 2 10 0 ax_initialize: unable to enqueue rcv buffer 13 a l(deleted) 2014-01-22T15:26:49Z post108088: Re: asix usb ethernet dongle problem Hugh Brown http://community.qnx.com/sf/go/post108088 2014-01-22T14:44:40Z 2014-01-22T14:44:40Z We have ported the Asix driver to a native io-pkt driver, so will you please run the attached driver and see if it works for you. On 2014/1/22, 9:37 AM, "a l" <community-noreply@qnx.com> wrote: >USB 0 (dm816x) v1.10, v1.01 DDK, v1.01 HCD > Control, Interrupt, Bulk(SG), Isoch(Stream), High speed > >Device Address : 1 >Upstream Host Controller : 0 >Upstream Device Address : 0 >Upstream Port : 0 >Upstream Port Speed : High >Vendor : 0x04b8 >Product : 0x090a >Device Release : r0.90 >Class : 0x09 (Hub) >Subclass : 0x00 >Protocol : 0x01 >Max PacketSize0 : 64 >Hub Number Ports : 2 >Hub Characteristics : 0x0020 (Ganged power, Global over-current) >Hub Power On->Good : 0 ms >Hub Power Requirements : 100 mA >Configurations : 1 > Configuration : 1 > Attributes : 0xe0 (Self-powered, Remote-wakeup) > Max Power : 100 mA > >Device Address : 2 >Upstream Host Controller : 0 >Upstream Device Address : 1 >Upstream Port : 2 >Upstream Port Speed : High >Vendor : 0x2101 (Action Star) >Product : 0x8500 (USB2.0 Hub) >Device Release : r1.06 >Class : 0x09 (Hub) >Subclass : 0x00 >Protocol : 0x02 >Max PacketSize0 : 64 >Hub Number Ports : 5 >Hub Characteristics : 0x00e4 (Ganged power, Compound, Global >over-current) >Hub Power On->Good : 100 ms >Hub Power Requirements : 100 mA >Configurations : 1 > Configuration : 1 > Attributes : 0xe0 (Self-powered, Remote-wakeup) > Max Power : 100 mA > >Device Address : 3 >Upstream Host Controller : 0 >Upstream Device Address : 2 >Upstream Port : 1 >Upstream Port Speed : High >Vendor : 0x2101 (Action Star) >Product : 0x8501 (USB HID) >Device Release : r6.05 >Class : 0x00 (Independent per interface) >Max PacketSize0 : 64 >Configurations : 1 > Configuration : 1 > Attributes : 0xa0 (Bus-powered, Remote-wakeup) > Max Power : 20 mA > >Device Address : 4 >Upstream Host Controller : 0 >Upstream Device Address : 2 >Upstream Port : 2 >Upstream Port Speed : High >Vendor : 0x1307 (USBest Technology) >Product : 0x0163 (USB Mass Storage Device) >Device Release : r1.00 >Class : 0x00 (Independent per interface) >Max PacketSize0 : 64 >Configurations : 1 > Configuration : 1 > Attributes : 0x80 (Bus-powered) > Max Power : 80 mA > >Device Address : 5 >Upstream Host Controller : 0 >Upstream Device Address : 2 >Upstream Port : 3 >Upstream Port Speed : High >Vendor : 0x2001 (D-Link Corporation) >Product : 0x3c05 (DUB-E100) >Device Release : r0.01 >Class : 0xff (Vendor-specific) >Subclass : 0xff >Protocol : 0x00 >Max PacketSize0 : 64 >Configurations : 1 > Configuration : 1 (0) > Attributes : 0x80 (Bus-powered) > Max Power : 250 mA > >USB 1 (dm816x) v1.10, v1.01 DDK, v1.01 HCD > Control, Interrupt, Bulk, Isoch(Stream), High speed > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post108087 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-01-22T14:44:40Z post108087: Re: asix usb ethernet dongle problem a l(deleted) http://community.qnx.com/sf/go/post108087 2014-01-22T14:37:57Z 2014-01-22T14:37:57Z USB 0 (dm816x) v1.10, v1.01 DDK, v1.01 HCD Control, Interrupt, Bulk(SG), Isoch(Stream), High speed Device Address : 1 Upstream Host Controller : 0 Upstream Device Address : 0 Upstream Port : 0 Upstream Port Speed : High Vendor : 0x04b8 Product : 0x090a Device Release : r0.90 Class : 0x09 (Hub) Subclass : 0x00 Protocol : 0x01 Max PacketSize0 : 64 Hub Number Ports : 2 Hub Characteristics : 0x0020 (Ganged power, Global over-current) Hub Power On->Good : 0 ms Hub Power Requirements : 100 mA Configurations : 1 Configuration : 1 Attributes : 0xe0 (Self-powered, Remote-wakeup) Max Power : 100 mA Device Address : 2 Upstream Host Controller : 0 Upstream Device Address : 1 Upstream Port : 2 Upstream Port Speed : High Vendor : 0x2101 (Action Star) Product : 0x8500 (USB2.0 Hub) Device Release : r1.06 Class : 0x09 (Hub) Subclass : 0x00 Protocol : 0x02 Max PacketSize0 : 64 Hub Number Ports : 5 Hub Characteristics : 0x00e4 (Ganged power, Compound, Global over-current) Hub Power On->Good : 100 ms Hub Power Requirements : 100 mA Configurations : 1 Configuration : 1 Attributes : 0xe0 (Self-powered, Remote-wakeup) Max Power : 100 mA Device Address : 3 Upstream Host Controller : 0 Upstream Device Address : 2 Upstream Port : 1 Upstream Port Speed : High Vendor : 0x2101 (Action Star) Product : 0x8501 (USB HID) Device Release : r6.05 Class : 0x00 (Independent per interface) Max PacketSize0 : 64 Configurations : 1 Configuration : 1 Attributes : 0xa0 (Bus-powered, Remote-wakeup) Max Power : 20 mA Device Address : 4 Upstream Host Controller : 0 Upstream Device Address : 2 Upstream Port : 2 Upstream Port Speed : High Vendor : 0x1307 (USBest Technology) Product : 0x0163 (USB Mass Storage Device) Device Release : r1.00 Class : 0x00 (Independent per interface) Max PacketSize0 : 64 Configurations : 1 Configuration : 1 Attributes : 0x80 (Bus-powered) Max Power : 80 mA Device Address : 5 Upstream Host Controller : 0 Upstream Device Address : 2 Upstream Port : 3 Upstream Port Speed : High Vendor : 0x2001 (D-Link Corporation) Product : 0x3c05 (DUB-E100) Device Release : r0.01 Class : 0xff (Vendor-specific) Subclass : 0xff Protocol : 0x00 Max PacketSize0 : 64 Configurations : 1 Configuration : 1 (0) Attributes : 0x80 (Bus-powered) Max Power : 250 mA USB 1 (dm816x) v1.10, v1.01 DDK, v1.01 HCD Control, Interrupt, Bulk, Isoch(Stream), High speed a l(deleted) 2014-01-22T14:37:57Z post108084: Re: asix usb ethernet dongle problem Hugh Brown http://community.qnx.com/sf/go/post108084 2014-01-22T14:04:00Z 2014-01-22T14:04:00Z Please can you post the output from ³usb -v² so that I can see which version of the Asix chip you have. On 2014/1/22, 9:01 AM, "a l" <community-noreply@qnx.com> wrote: >Thanks... > >I did put a sleep between it... > >After running ifconfig it also lists the interface with the configured ip >address. >Also disabling packet filtering did not help. > >After network setup i can ping to the configured target ip address..but >nothing to host.. > > > > >> If you are starting io-pkt in a script and then running ifconfig >> immediately after, that could be your problem. You should have a delay >> after starting the driver and running ifconfig to allow the driver to >> initialize the hardware. > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post108083 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-01-22T14:04:00Z post108083: Re: asix usb ethernet dongle problem a l(deleted) http://community.qnx.com/sf/go/post108083 2014-01-22T14:01:47Z 2014-01-22T14:01:47Z Thanks... I did put a sleep between it... After running ifconfig it also lists the interface with the configured ip address. Also disabling packet filtering did not help. After network setup i can ping to the configured target ip address..but nothing to host.. > If you are starting io-pkt in a script and then running ifconfig > immediately after, that could be your problem. You should have a delay > after starting the driver and running ifconfig to allow the driver to > initialize the hardware. a l(deleted) 2014-01-22T14:01:47Z post108082: Re: asix usb ethernet dongle problem Hugh Brown http://community.qnx.com/sf/go/post108082 2014-01-22T13:02:34Z 2014-01-22T13:02:34Z If you are starting io-pkt in a script and then running ifconfig immediately after, that could be your problem. You should have a delay after starting the driver and running ifconfig to allow the driver to initialize the hardware. On 2014/1/21, 6:05 PM, "a l" <community-noreply@qnx.com> wrote: >Hi all, > >I'm trying to connect to o (armle) target. >the target starts a script from usb on boot. >I can load the devn-asix driver , and that fires up the usb adaptor >(lights on) > >This is what i try : >io-pkt-v4-hc -d /fs/U0/devn-asix.so lan=2 >ifconfig en2 192.168.6.2 > >i can ping 192.168.6.2 , but can't ping to the other end of the ethernet.. > >in syslog : >Jan 01 00:00:27 5 14 0 tcpip starting >Jan 01 00:00:28 3 14 0 Unable to attach to pci server: No such >file or directory >Jan 01 00:00:28 3 14 0 Using pseudo random generator. See >"random" option >Jan 01 00:00:28 5 14 0 initializing IPsec... done >Jan 01 00:00:28 5 14 0 IPsec: Initialized Security Association >Processing. >Jan 01 00:00:30 5 14 0 en2 >Jan 01 00:00:30 2 14 0 ax_initialize: unable to enqueue rcv >buffer 13 > >Any help is welcome.. > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post108074 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2014-01-22T13:02:34Z post108074: asix usb ethernet dongle problem a l(deleted) http://community.qnx.com/sf/go/post108074 2014-01-21T23:05:04Z 2014-01-21T23:05:04Z Hi all, I'm trying to connect to o (armle) target. the target starts a script from usb on boot. I can load the devn-asix driver , and that fires up the usb adaptor (lights on) This is what i try : io-pkt-v4-hc -d /fs/U0/devn-asix.so lan=2 ifconfig en2 192.168.6.2 i can ping 192.168.6.2 , but can't ping to the other end of the ethernet.. in syslog : Jan 01 00:00:27 5 14 0 tcpip starting Jan 01 00:00:28 3 14 0 Unable to attach to pci server: No such file or directory Jan 01 00:00:28 3 14 0 Using pseudo random generator. See "random" option Jan 01 00:00:28 5 14 0 initializing IPsec... done Jan 01 00:00:28 5 14 0 IPsec: Initialized Security Association Processing. Jan 01 00:00:30 5 14 0 en2 Jan 01 00:00:30 2 14 0 ax_initialize: unable to enqueue rcv buffer 13 Any help is welcome.. a l(deleted) 2014-01-21T23:05:04Z post107724: Re: scripts to detect the network Li frank http://community.qnx.com/sf/go/post107724 2013-12-27T02:08:58Z 2013-12-27T02:08:58Z Thank you very much. > ‎http://www.qnx.com/developers/docs/6.5.0/topic/com.qnx.doc. > neutrino_utilities/i/ifwatchd.html > > Sent from my BlackBerry 10 smartphone on the Rogers network. > Original Message > From: Li frank > Sent: Wednesday, December 25, 2013 4:51 AM > To: general-networking > Reply To: general-networking@community.qnx.com > Subject: Re: scripts to detect the network > > > Great, how to use the ifwatchd utility?Any example? Thank you. > > The ifwatchd utility can accomplish this. > > > > Regards, > > > > -seanb > > > > Sent from my BlackBerry 10 smartphone on the Rogers network. > > Original Message > > From: Li frank > > Sent: Tuesday, December 24, 2013 12:39 AM > > To: general-networking > > Reply To: general-networking@community.qnx.com > > Subject: scripts to detect the network > > > > > > I would like to write a script in boot.sh. which is used to detect if we > get > > the IP address from dhcp.client. If the IP address is got, then it will > start > > a program which use network funciton. If not, the wait some time and check > it > > again. Is that possible? Or maybe there is example? Thanks. > > > > > > > > > > > > _______________________________________________ > > > > General > > http://community.qnx.com/sf/go/post107702 > > To cancel your subscription to this discussion, please e-mail general- > > networking-unsubscribe@community.qnx.com > > > > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post107714 > To cancel your subscription to this discussion, please e-mail general- > networking-unsubscribe@community.qnx.com Li frank 2013-12-27T02:08:58Z post107719: Re: scripts to detect the network Sean Boudreau(deleted) http://community.qnx.com/sf/go/post107719 2013-12-26T12:31:53Z 2013-12-26T12:31:53Z ‎http://www.qnx.com/developers/docs/6.5.0/topic/com.qnx.doc.neutrino_utilities/i/ifwatchd.html Sent from my BlackBerry 10 smartphone on the Rogers network. Original Message From: Li frank Sent: Wednesday, December 25, 2013 4:51 AM To: general-networking Reply To: general-networking@community.qnx.com Subject: Re: scripts to detect the network Great, how to use the ifwatchd utility?Any example? Thank you. > The ifwatchd utility can accomplish this. > > Regards, > > -seanb > > Sent from my BlackBerry 10 smartphone on the Rogers network. > Original Message > From: Li frank > Sent: Tuesday, December 24, 2013 12:39 AM > To: general-networking > Reply To: general-networking@community.qnx.com > Subject: scripts to detect the network > > > I would like to write a script in boot.sh. which is used to detect if we get > the IP address from dhcp.client. If the IP address is got, then it will start > a program which use network funciton. If not, the wait some time and check it > again. Is that possible? Or maybe there is example? Thanks. > > > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post107702 > To cancel your subscription to this discussion, please e-mail general- > networking-unsubscribe@community.qnx.com _______________________________________________ General http://community.qnx.com/sf/go/post107714 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Sean Boudreau(deleted) 2013-12-26T12:31:53Z post107714: Re: scripts to detect the network Li frank http://community.qnx.com/sf/go/post107714 2013-12-25T09:51:06Z 2013-12-25T09:51:06Z Great, how to use the ifwatchd utility?Any example? Thank you. > The ifwatchd utility can accomplish this. > > Regards, > > -seanb > > Sent from my BlackBerry 10 smartphone on the Rogers network. > Original Message > From: Li frank > Sent: Tuesday, December 24, 2013 12:39 AM > To: general-networking > Reply To: general-networking@community.qnx.com > Subject: scripts to detect the network > > > I would like to write a script in boot.sh. which is used to detect if we get > the IP address from dhcp.client. If the IP address is got, then it will start > a program which use network funciton. If not, the wait some time and check it > again. Is that possible? Or maybe there is example? Thanks. > > > > > > _______________________________________________ > > General > http://community.qnx.com/sf/go/post107702 > To cancel your subscription to this discussion, please e-mail general- > networking-unsubscribe@community.qnx.com Li frank 2013-12-25T09:51:06Z post107704: Re: scripts to detect the network Sean Boudreau(deleted) http://community.qnx.com/sf/go/post107704 2013-12-24T11:57:36Z 2013-12-24T11:57:36Z The ifwatchd utility can accomplish this. Regards, -seanb Sent from my BlackBerry 10 smartphone on the Rogers network. Original Message From: Li frank Sent: Tuesday, December 24, 2013 12:39 AM To: general-networking Reply To: general-networking@community.qnx.com Subject: scripts to detect the network I would like to write a script in boot.sh. which is used to detect if we get the IP address from dhcp.client. If the IP address is got, then it will start a program which use network funciton. If not, the wait some time and check it again. Is that possible? Or maybe there is example? Thanks. _______________________________________________ General http://community.qnx.com/sf/go/post107702 To cancel your subscription to this discussion, please e-mail general-networking-unsubscribe@community.qnx.com Sean Boudreau(deleted) 2013-12-24T11:57:36Z post107702: scripts to detect the network Li frank http://community.qnx.com/sf/go/post107702 2013-12-24T05:39:53Z 2013-12-24T05:39:53Z I would like to write a script in boot.sh. which is used to detect if we get the IP address from dhcp.client. If the IP address is got, then it will start a program which use network funciton. If not, the wait some time and check it again. Is that possible? Or maybe there is example? Thanks. Li frank 2013-12-24T05:39:53Z post107507: Re: Beta test: high speed raw ethernet interface based on DPDK ( 1GB Intel adapters) Armin Steinhoff http://community.qnx.com/sf/go/post107507 2013-12-12T20:18:56Z 2013-12-12T20:18:56Z Steve, I used in my test scenario the original I210 board from Intel. This board wasn't recognized and wasn't handled by the QNX 6.4. The test utility "testpmd" sets in general the link up. Did you disable your board by the network configuration of QNX ? Are you using QNX6.4 or QNX6.5 ? There seems to be a conflict in handling of the link status Thanks a lot for your valuable response! Best Regards --Armin Armin Steinhoff 2013-12-12T20:18:56Z post107494: Re: Beta test: high speed raw ethernet interface based on DPDK ( 1GB Intel adapters) Armin Steinhoff http://community.qnx.com/sf/go/post107494 2013-12-12T19:58:37Z 2013-12-12T19:58:37Z Steve Iribarne wrote: > After a TON of testing and debugging the issue was that the interface wasn't "up". > > So after I loaded the supplicant I just do: > > ifconfig tiw_sta0 up > > and everything works. > > I just wanted to update. > > Armin Steinhoff 2013-12-12T19:58:37Z post107317: Re: Intel Pro/Wireless 2915ABG network card and QNX 6.5 Hugh Brown http://community.qnx.com/sf/go/post107317 2013-12-09T17:56:25Z 2013-12-09T17:56:25Z The only chipsets that work on x86 PCI are the Atheros AR5210,11,12 & 13, and the Broadcom BCM43xx. On 2013/12/9, 12:04 PM, "H. S." <community-noreply@qnx.com> wrote: > >If I were to try to buy a minipci wireless adapter to use in the machine, >which one is the best bet in support and stability in QNX 6.5? > >Thanks. > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post107316 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2013-12-09T17:56:25Z post107316: Re: Intel Pro/Wireless 2915ABG network card and QNX 6.5 H. S. http://community.qnx.com/sf/go/post107316 2013-12-09T17:04:33Z 2013-12-09T17:04:33Z If I were to try to buy a minipci wireless adapter to use in the machine, which one is the best bet in support and stability in QNX 6.5? Thanks. H. S. 2013-12-09T17:04:33Z post107314: Re: Intel Pro/Wireless 2915ABG network card and QNX 6.5 Hugh Brown http://community.qnx.com/sf/go/post107314 2013-12-09T16:49:37Z 2013-12-09T16:49:37Z No, this adapter isn¹t supported. On 2013/12/9, 11:43 AM, "H. S." <community-noreply@qnx.com> wrote: >I installed QNX 6.5 from its installation CD on an old Dell Precision M20 >laptop. The "pci -v" command lists the Intel Pro/Wireless 2915ABG network >card. However, I am not sure how to make it work in the QNX OS. > >First, is this card supported by QNX 6.5 OS. Next, if yes, could somebody >help me with steps on bringing up the wireless interface? > >Thanks. > > > > >_______________________________________________ > >General >http://community.qnx.com/sf/go/post107312 >To cancel your subscription to this discussion, please e-mail >general-networking-unsubscribe@community.qnx.com Hugh Brown 2013-12-09T16:49:37Z post107312: Intel Pro/Wireless 2915ABG network card and QNX 6.5 H. S. http://community.qnx.com/sf/go/post107312 2013-12-09T16:43:22Z 2013-12-09T16:43:22Z I installed QNX 6.5 from its installation CD on an old Dell Precision M20 laptop. The "pci -v" command lists the Intel Pro/Wireless 2915ABG network card. However, I am not sure how to make it work in the QNX OS. First, is this card supported by QNX 6.5 OS. Next, if yes, could somebody help me with steps on bringing up the wireless interface? Thanks. H. S. 2013-12-09T16:43:22Z post107299: Network Interface Card (NIC) Teaming matter. Patrick Wong http://community.qnx.com/sf/go/post107299 2013-12-07T10:56:55Z 2013-12-07T10:56:55Z Hi, My embedded PC is running QNX Neutrino OS 6.5 and it has 2 network card with name "wm0" and "wm1". How do i configure them so that they can act as NIC Teaming ? One of the articles that i found from internet (http://www.tecmint.com/ethernet-channel-bonding-aka-nic-teaming-on-linux-systems/) teaches us how to create a NIC teaming in linux. I tried to follow the steps and applied them on the embedded PC but it does not have the path "/etc/sysconfig/network-scripts". I was unable to proceed after that. Can you advise me on how to create OR is it possible to create a NIC Teaming in QNX ? Patrick Wong 2013-12-07T10:56:55Z post106900: Beta test: high speed raw ethernet interface based on DPDK ( 1GB Intel adapters) Armin Steinhoff http://community.qnx.com/sf/go/post106900 2013-11-20T23:53:51Z 2013-11-20T23:53:51Z Hi, in the attachment is a test application of the DPDK framework (dpdk.org) working with QNX6.4 and QNX6.5. Supported are all 1GB adapters from Intel. "testpmd" is completely independend from the network infrastructure of QNX Neutrino. Required is at least a dual core CPU and an 1GB Intel Ethernet adapter. Application start for a dual core system and a single channel *I210* adapter e.g.: "testpmd -c 3 -n 1" For a different Intel adapter must be specified its PCI sub device ID by the -D switch: "testpmd -c 3 -n1 -D nnn" ("nnn" hex number w/o "0x" prefix) The application terminates with an abort() call if the requested PCI adapter couldn't be found ... Start and stop of the "sniff function": *testpmd>*set fwd rxonly *testpmd>*start *testpmd>*stop Start and stop of the "UDP packet generator ": *testpmd>*set fwd txonly *testpmd>*start *testpmd>*stop The maximal number of packets/sec is limitted to 40.000 packets/sec by a nanospin() delay of 20us. (Slower networks creates dropped packets .. "testpmd" must be used carefully on your own risk) There are a lot of additional test cases included ... some are not supported because of architectural differences between QNX6 and Linux Only the "Link status change" interrupt is currently supported. Please let me know if there are issues with your 1GB Intel adapter. Regards --Armin Armin Steinhoff 2013-11-20T23:53:51Z post106738: How can I get Financial presentation captioning Jackson Ben http://community.qnx.com/sf/go/post106738 2013-11-13T12:34:39Z 2013-11-13T12:34:39Z Captioning is an art of providing customers with every image that they have been searching. An individual has a different entity with different thoughts and perceptions. If you ask one person to search a picture from internet, he will search it with a keyword which he thinks better to suite the subject. Similarly if you assign this job to 10 people, all 10 will search in different ways. Captioning is done to satisfy the needs of people with different taste and viewpoints. With the help of captioning, all tem people will get their search even if their way of searching is different. You can now find various facilities provided by closed captioning US with regards to financial presentation captioning. <a href="http://www.closed-captioning-us.com/Closed-Captioning-Services.php">closed captioning Company</a> Jackson Ben 2013-11-13T12:34:39Z post106564: Support for Intel's Q87 chipset Chris Richter(deleted) http://community.qnx.com/sf/go/post106564 2013-11-06T10:26:55Z 2013-11-06T10:26:55Z Hi, according to http://www.advantech.de/products/QNX-Evaluation-Kit/mod_d208b14e-93e2-40b5-afc1-9482b563716d/News/A1EACAA1-4FF8-46AE-963A-42A3739F9B21/ Advantech offers support for the Q87 chipset with the AIMB-584. Does the latest version of the "x86 BIOS Board Support Package QNX 6.5.0 SP1" already support the Q87? At least in the latest BSP source code I found the HW support for "Q87 Express LPC Controller" . Thanks in advance and regards, Chris Chris Richter(deleted) 2013-11-06T10:26:55Z