Feed for discussion General in project Networking. http://community.qnx.com/sf/discussion/do/listTopics/projects.networking/discussion.general Posts for General post122159: using sendmsg/sendmmsg for data link layer packets http://community.qnx.com/sf/go/post122159 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 Sat, 11 Mar 2023 11:34:31 GMT http://community.qnx.com/sf/go/post122159 yamuna devi(deleted) 2023-03-11T11:34:31Z post122013: Re: QNX7 SNMP http://community.qnx.com/sf/go/post122013 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. Tue, 29 Nov 2022 08:16:24 GMT http://community.qnx.com/sf/go/post122013 Michael Kurt 2022-11-29T08:16:24Z post122010: Re: QNX7 SNMP http://community.qnx.com/sf/go/post122010 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. Mon, 28 Nov 2022 14:01:46 GMT http://community.qnx.com/sf/go/post122010 Nick Reilly 2022-11-28T14:01:46Z post122009: QNX7 SNMP http://community.qnx.com/sf/go/post122009 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. Mon, 28 Nov 2022 06:44:29 GMT http://community.qnx.com/sf/go/post122009 Michael Kurt 2022-11-28T06:44:29Z post121921: Re: sendmmsg to saturate 1 GBit link http://community.qnx.com/sf/go/post121921 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. Thu, 15 Sep 2022 14:17:09 GMT http://community.qnx.com/sf/go/post121921 Nick Reilly 2022-09-15T14:17:09Z post121920: sendmmsg to saturate 1 GBit link http://community.qnx.com/sf/go/post121920 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 Thu, 15 Sep 2022 11:36:05 GMT http://community.qnx.com/sf/go/post121920 Thorsten Wilmer 2022-09-15T11:36:05Z post121874: Re: Ethernet packet http://community.qnx.com/sf/go/post121874 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 Thu, 14 Jul 2022 03:39:55 GMT http://community.qnx.com/sf/go/post121874 ge zhang(deleted) 2022-07-14T03:39:55Z post121867: Re: Ethernet packet http://community.qnx.com/sf/go/post121867 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. Wed, 13 Jul 2022 13:34:41 GMT http://community.qnx.com/sf/go/post121867 Nick Reilly 2022-07-13T13:34:41Z post121866: Re: Ethernet packet http://community.qnx.com/sf/go/post121866 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 Wed, 13 Jul 2022 11:51:49 GMT http://community.qnx.com/sf/go/post121866 Michael Tasche 2022-07-13T11:51:49Z post121852: Ethernet packet http://community.qnx.com/sf/go/post121852 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? Tue, 12 Jul 2022 10:16:58 GMT http://community.qnx.com/sf/go/post121852 ge zhang(deleted) 2022-07-12T10:16:58Z post121444: QNX 6.6.0 Audio Driver for Intel Kaby Lake chipset http://community.qnx.com/sf/go/post121444 Is there any chance that the audio driver will be available for Intel Kaby Lake chipset for QNX 6.6.0+ SP1? Tue, 01 Jun 2021 23:11:37 GMT http://community.qnx.com/sf/go/post121444 Janusz Ruszel 2021-06-01T23:11:37Z post121014: Re: Perintah QNX untuk Melihat Semua Pengguna yang Masuk melalui ssh. http://community.qnx.com/sf/go/post121014 > 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. > Mon, 05 Oct 2020 07:08:34 GMT http://community.qnx.com/sf/go/post121014 iwan angkawijaya(deleted) 2020-10-05T07:08:34Z post120878: Re: How to setup DNS server in QNX7.0 http://community.qnx.com/sf/go/post120878 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. Tue, 04 Aug 2020 14:56:38 GMT http://community.qnx.com/sf/go/post120878 Darshan B(deleted) 2020-08-04T14:56:38Z post120877: Re: How to setup DNS server in QNX7.0 http://community.qnx.com/sf/go/post120877 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. Tue, 04 Aug 2020 13:21:45 GMT http://community.qnx.com/sf/go/post120877 Nick Reilly 2020-08-04T13:21:45Z post120875: How to setup DNS server in QNX7.0 http://community.qnx.com/sf/go/post120875 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. Mon, 03 Aug 2020 08:25:12 GMT http://community.qnx.com/sf/go/post120875 Darshan B(deleted) 2020-08-03T08:25:12Z post120244: QNX Command to View All the Users Logged on via ssh. http://community.qnx.com/sf/go/post120244 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. Sun, 09 Feb 2020 10:44:36 GMT http://community.qnx.com/sf/go/post120244 Saurav Suman(deleted) 2020-02-09T10:44:36Z post120243: Re: Enabling SSH login to QNX http://community.qnx.com/sf/go/post120243 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. Sun, 09 Feb 2020 10:40:41 GMT http://community.qnx.com/sf/go/post120243 Saurav Suman(deleted) 2020-02-09T10:40:41Z post120242: Enabling SSH login to QNX http://community.qnx.com/sf/go/post120242 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. Sat, 08 Feb 2020 13:05:30 GMT http://community.qnx.com/sf/go/post120242 Amin Sahebi 2020-02-08T13:05:30Z post120084: Re: io-pkt avb library API http://community.qnx.com/sf/go/post120084 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? Tue, 19 Nov 2019 15:03:42 GMT http://community.qnx.com/sf/go/post120084 Piotr Pasterak 2019-11-19T15:03:42Z post120007: Re: rpcbind got "Permission denied" error. http://community.qnx.com/sf/go/post120007 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. Mon, 30 Sep 2019 13:30:29 GMT http://community.qnx.com/sf/go/post120007 Nick Reilly 2019-09-30T13:30:29Z post120004: rpcbind got "Permission denied" error. http://community.qnx.com/sf/go/post120004 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 Mon, 30 Sep 2019 05:48:48 GMT http://community.qnx.com/sf/go/post120004 Song Shizhe(deleted) 2019-09-30T05:48:48Z post119998: Re: io-pkt avb library API http://community.qnx.com/sf/go/post119998 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 Thu, 26 Sep 2019 13:08:40 GMT http://community.qnx.com/sf/go/post119998 Nick Reilly 2019-09-26T13:08:40Z post119997: Re: io-pkt avb library API http://community.qnx.com/sf/go/post119997 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 Thu, 26 Sep 2019 12:31:59 GMT http://community.qnx.com/sf/go/post119997 Mateusz Dziadosz(deleted) 2019-09-26T12:31:59Z post119955: Re: io-pkt avb library API http://community.qnx.com/sf/go/post119955 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 Wed, 18 Sep 2019 13:23:05 GMT http://community.qnx.com/sf/go/post119955 Nick Reilly 2019-09-18T13:23:05Z post119954: Re: io-pkt avb library API http://community.qnx.com/sf/go/post119954 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 Wed, 18 Sep 2019 13:22:09 GMT http://community.qnx.com/sf/go/post119954 Dean Denter 2019-09-18T13:22:09Z post119953: Re: io-pkt avb library API http://community.qnx.com/sf/go/post119953 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 Wed, 18 Sep 2019 13:07:35 GMT http://community.qnx.com/sf/go/post119953 Mateusz Dziadosz(deleted) 2019-09-18T13:07:35Z post119825: unable to initialise io-display http://community.qnx.com/sf/go/post119825 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 Fri, 23 Aug 2019 07:40:52 GMT http://community.qnx.com/sf/go/post119825 Kok Keong Neo(deleted) 2019-08-23T07:40:52Z post119602: snmpd usage http://community.qnx.com/sf/go/post119602 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 Mon, 25 Mar 2019 11:45:29 GMT http://community.qnx.com/sf/go/post119602 mario sangalli 2019-03-25T11:45:29Z post119446: Re: Get default gateway in C http://community.qnx.com/sf/go/post119446 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. Thu, 24 Jan 2019 10:25:31 GMT http://community.qnx.com/sf/go/post119446 Benjamin Richner(deleted) 2019-01-24T10:25:31Z post119445: Re: Get default gateway in C http://community.qnx.com/sf/go/post119445 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 Wed, 23 Jan 2019 19:24:57 GMT http://community.qnx.com/sf/go/post119445 Will Miles 2019-01-23T19:24:57Z post119438: Re: Get default gateway in C http://community.qnx.com/sf/go/post119438 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 Wed, 23 Jan 2019 09:23:26 GMT http://community.qnx.com/sf/go/post119438 Benjamin Richner(deleted) 2019-01-23T09:23:26Z post119437: Re: Get default gateway in C http://community.qnx.com/sf/go/post119437 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 Tue, 22 Jan 2019 18:01:09 GMT http://community.qnx.com/sf/go/post119437 Will Miles 2019-01-22T18:01:09Z post119432: Re: Get default gateway in C http://community.qnx.com/sf/go/post119432 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! Tue, 22 Jan 2019 12:41:40 GMT http://community.qnx.com/sf/go/post119432 Benjamin Richner(deleted) 2019-01-22T12:41:40Z post119430: Re: Get default gateway in C http://community.qnx.com/sf/go/post119430 Hi Nick, Thanks for your answer, it's really helpful. I'll try your approaches. -Benjamin Tue, 22 Jan 2019 08:06:15 GMT http://community.qnx.com/sf/go/post119430 Benjamin Richner(deleted) 2019-01-22T08:06:15Z post119429: Re: Get default gateway in C http://community.qnx.com/sf/go/post119429 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 Tue, 22 Jan 2019 08:04:59 GMT http://community.qnx.com/sf/go/post119429 Benjamin Richner(deleted) 2019-01-22T08:04:59Z post119428: Re: Get default gateway in C http://community.qnx.com/sf/go/post119428 > > 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 Mon, 21 Jan 2019 21:44:53 GMT http://community.qnx.com/sf/go/post119428 Will Miles 2019-01-21T21:44:53Z post119427: Re: Get default gateway in C http://community.qnx.com/sf/go/post119427 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. Mon, 21 Jan 2019 16:24:43 GMT http://community.qnx.com/sf/go/post119427 Nick Reilly 2019-01-21T16:24:43Z post119426: Re: Get default gateway in C http://community.qnx.com/sf/go/post119426 > a QNX kernel engineer told us we cannot start or kill threads at runtime if we Correction: cannot start or kill processes* Mon, 21 Jan 2019 12:47:37 GMT http://community.qnx.com/sf/go/post119426 Benjamin Richner(deleted) 2019-01-21T12:47:37Z post119425: Get default gateway in C http://community.qnx.com/sf/go/post119425 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 Mon, 21 Jan 2019 12:43:31 GMT http://community.qnx.com/sf/go/post119425 Benjamin Richner(deleted) 2019-01-21T12:43:31Z post119344: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119344 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 Wed, 05 Dec 2018 08:20:36 GMT http://community.qnx.com/sf/go/post119344 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:36Z post119345: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119345 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 Wed, 05 Dec 2018 08:20:36 GMT http://community.qnx.com/sf/go/post119345 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:36Z post119343: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119343 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 Wed, 05 Dec 2018 08:20:35 GMT http://community.qnx.com/sf/go/post119343 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:35Z post119342: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119342 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 Wed, 05 Dec 2018 08:20:34 GMT http://community.qnx.com/sf/go/post119342 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:34Z post119341: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119341 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 Wed, 05 Dec 2018 08:20:33 GMT http://community.qnx.com/sf/go/post119341 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:33Z post119340: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119340 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 Wed, 05 Dec 2018 08:20:32 GMT http://community.qnx.com/sf/go/post119340 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:32Z post119339: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119339 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 Wed, 05 Dec 2018 08:20:31 GMT http://community.qnx.com/sf/go/post119339 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:31Z post119338: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119338 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 Wed, 05 Dec 2018 08:20:30 GMT http://community.qnx.com/sf/go/post119338 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:30Z post119337: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119337 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 Wed, 05 Dec 2018 08:20:29 GMT http://community.qnx.com/sf/go/post119337 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:29Z post119336: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119336 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 Wed, 05 Dec 2018 08:20:28 GMT http://community.qnx.com/sf/go/post119336 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:28Z post119335: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119335 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 Wed, 05 Dec 2018 08:20:24 GMT http://community.qnx.com/sf/go/post119335 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:24Z post119334: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119334 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 Wed, 05 Dec 2018 08:20:23 GMT http://community.qnx.com/sf/go/post119334 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:23Z post119333: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119333 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 Wed, 05 Dec 2018 08:20:21 GMT http://community.qnx.com/sf/go/post119333 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:21Z post119332: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119332 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 Wed, 05 Dec 2018 08:20:20 GMT http://community.qnx.com/sf/go/post119332 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:20Z post119331: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119331 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 Wed, 05 Dec 2018 08:20:19 GMT http://community.qnx.com/sf/go/post119331 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:19Z post119330: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119330 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 Wed, 05 Dec 2018 08:20:18 GMT http://community.qnx.com/sf/go/post119330 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:18Z post119329: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119329 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 Wed, 05 Dec 2018 08:20:17 GMT http://community.qnx.com/sf/go/post119329 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:17Z post119328: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119328 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 Wed, 05 Dec 2018 08:20:17 GMT http://community.qnx.com/sf/go/post119328 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:17Z post119327: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119327 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 Wed, 05 Dec 2018 08:20:16 GMT http://community.qnx.com/sf/go/post119327 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:16Z post119325: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119325 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 Wed, 05 Dec 2018 08:20:10 GMT http://community.qnx.com/sf/go/post119325 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:10Z post119326: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119326 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 Wed, 05 Dec 2018 08:20:10 GMT http://community.qnx.com/sf/go/post119326 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:10Z post119324: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119324 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 Wed, 05 Dec 2018 08:20:09 GMT http://community.qnx.com/sf/go/post119324 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:09Z post119323: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119323 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 Wed, 05 Dec 2018 08:20:08 GMT http://community.qnx.com/sf/go/post119323 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:08Z post119322: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119322 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 Wed, 05 Dec 2018 08:20:07 GMT http://community.qnx.com/sf/go/post119322 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:07Z post119321: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119321 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 Wed, 05 Dec 2018 08:20:06 GMT http://community.qnx.com/sf/go/post119321 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:06Z post119320: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119320 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 Wed, 05 Dec 2018 08:20:05 GMT http://community.qnx.com/sf/go/post119320 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:05Z post119319: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119319 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 Wed, 05 Dec 2018 08:20:04 GMT http://community.qnx.com/sf/go/post119319 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:04Z post119318: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119318 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 Wed, 05 Dec 2018 08:20:04 GMT http://community.qnx.com/sf/go/post119318 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:04Z post119317: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119317 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 Wed, 05 Dec 2018 08:20:03 GMT http://community.qnx.com/sf/go/post119317 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:03Z post119316: FILE EXISTS error on setting IPV4 address using ioctl http://community.qnx.com/sf/go/post119316 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; } Wed, 05 Dec 2018 08:20:01 GMT http://community.qnx.com/sf/go/post119316 Parthiban Chinnathambi(deleted) 2018-12-05T08:20:01Z post119280: Re: io-pkt avb library API http://community.qnx.com/sf/go/post119280 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. Thu, 08 Nov 2018 15:10:58 GMT http://community.qnx.com/sf/go/post119280 Nick Reilly 2018-11-08T15:10:58Z post119279: Re: io-pkt avb library API http://community.qnx.com/sf/go/post119279 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. Thu, 08 Nov 2018 13:49:42 GMT http://community.qnx.com/sf/go/post119279 bhavya ramu(deleted) 2018-11-08T13:49:42Z post119272: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119272 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 Tue, 30 Oct 2018 18:25:04 GMT http://community.qnx.com/sf/go/post119272 Hugh Brown 2018-10-30T18:25:04Z post119271: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119271 unfortunately, I don't have the driver source code. Is possible retrieve the those register status from devctls call? Thanks Tue, 30 Oct 2018 18:23:40 GMT http://community.qnx.com/sf/go/post119271 Chris Liang(deleted) 2018-10-30T18:23:40Z post119270: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119270 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 Tue, 30 Oct 2018 17:59:27 GMT http://community.qnx.com/sf/go/post119270 Hugh Brown 2018-10-30T17:59:27Z post119269: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119269 what source code is this mdi_callback? Tue, 30 Oct 2018 17:57:59 GMT http://community.qnx.com/sf/go/post119269 Chris Liang(deleted) 2018-10-30T17:57:59Z post119268: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119268 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 Tue, 30 Oct 2018 17:49:54 GMT http://community.qnx.com/sf/go/post119268 Hugh Brown 2018-10-30T17:49:54Z post119267: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119267 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 Tue, 30 Oct 2018 17:47:15 GMT http://community.qnx.com/sf/go/post119267 Chris Liang(deleted) 2018-10-30T17:47:15Z post119266: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119266 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 Tue, 30 Oct 2018 17:34:50 GMT http://community.qnx.com/sf/go/post119266 Hugh Brown 2018-10-30T17:34:50Z post119265: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119265 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 Tue, 30 Oct 2018 17:19:12 GMT http://community.qnx.com/sf/go/post119265 Hugh Brown 2018-10-30T17:19:12Z post119264: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119264 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. Tue, 30 Oct 2018 17:11:40 GMT http://community.qnx.com/sf/go/post119264 Chris Liang(deleted) 2018-10-30T17:11:40Z post119263: Re: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119263 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 Tue, 30 Oct 2018 16:59:28 GMT http://community.qnx.com/sf/go/post119263 Hugh Brown 2018-10-30T16:59:28Z post119262: How to retrieve PHY status, counter up/down to debug network issue http://community.qnx.com/sf/go/post119262 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.. Tue, 30 Oct 2018 16:49:31 GMT http://community.qnx.com/sf/go/post119262 Chris Liang(deleted) 2018-10-30T16:49:31Z post119177: RE: Error in the final launch sequense http://community.qnx.com/sf/go/post119177 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 Mon, 01 Oct 2018 11:14:17 GMT http://community.qnx.com/sf/go/post119177 John Kearney 2018-10-01T11:14:17Z post119176: Error in the final launch sequense http://community.qnx.com/sf/go/post119176 I cannot debug any file. I just have this error message Somebody please help me Mon, 01 Oct 2018 11:11:04 GMT http://community.qnx.com/sf/go/post119176 Juan Martinez(deleted) 2018-10-01T11:11:04Z post119169: How to disable neighbour solicitation message in QNX? http://community.qnx.com/sf/go/post119169 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 Mon, 01 Oct 2018 08:41:54 GMT http://community.qnx.com/sf/go/post119169 jashitha kp(deleted) 2018-10-01T08:41:54Z post119048: Choosing cellular modem http://community.qnx.com/sf/go/post119048 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 Mon, 13 Aug 2018 22:23:52 GMT http://community.qnx.com/sf/go/post119048 Sahil Shah(deleted) 2018-08-13T22:23:52Z post119034: Re: How to disable neighbor discovery http://community.qnx.com/sf/go/post119034 # 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 # Thu, 02 Aug 2018 14:16:49 GMT http://community.qnx.com/sf/go/post119034 Nick Reilly 2018-08-02T14:16:49Z post119033: Re: How to disable neighbor discovery http://community.qnx.com/sf/go/post119033 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 Thu, 02 Aug 2018 11:29:04 GMT http://community.qnx.com/sf/go/post119033 sudheesh k t(deleted) 2018-08-02T11:29:04Z post119030: Re: How to disable neighbor discovery http://community.qnx.com/sf/go/post119030 Use "ndp -s ..." to set the ndp entry first. Wed, 01 Aug 2018 15:54:56 GMT http://community.qnx.com/sf/go/post119030 Nick Reilly 2018-08-01T15:54:56Z post119028: How to disable neighbor discovery http://community.qnx.com/sf/go/post119028 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? Wed, 01 Aug 2018 05:37:04 GMT http://community.qnx.com/sf/go/post119028 sudheesh k t(deleted) 2018-08-01T05:37:04Z post118848: Re: ping6 utility takes long duration for unreachable destination http://community.qnx.com/sf/go/post118848 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. Fri, 25 May 2018 15:23:09 GMT http://community.qnx.com/sf/go/post118848 Nick Reilly 2018-05-25T15:23:09Z post118845: ping6 utility takes long duration for unreachable destination http://community.qnx.com/sf/go/post118845 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 Fri, 25 May 2018 07:14:18 GMT http://community.qnx.com/sf/go/post118845 jashitha kp(deleted) 2018-05-25T07:14:18Z post118697: WATCH PACIFIC RIM UPRISING FULL MOVIE | FORUM http://community.qnx.com/sf/go/post118697 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 Thu, 22 Mar 2018 23:41:40 GMT http://community.qnx.com/sf/go/post118697 gd boy(deleted) 2018-03-22T23:41:40Z post118638: RFC list http://community.qnx.com/sf/go/post118638 Is there list of RFC implemented (esp. in QNX 6.6.0)? Best regards, Andrzej Polanski Thu, 01 Mar 2018 14:11:24 GMT http://community.qnx.com/sf/go/post118638 Andrzej Polanski 2018-03-01T14:11:24Z post118637: dchcek in qnx 6.5.0sp1 http://community.qnx.com/sf/go/post118637 In in qnx 6.5.0sp1 dchcek not check a disk for bad blocks . How to solve this problem? Thu, 01 Mar 2018 09:16:25 GMT http://community.qnx.com/sf/go/post118637 Alex Lugovoy(deleted) 2018-03-01T09:16:25Z post118517: Secure logs http://community.qnx.com/sf/go/post118517 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 Mon, 05 Feb 2018 09:48:38 GMT http://community.qnx.com/sf/go/post118517 Gervot Olivier(deleted) 2018-02-05T09:48:38Z post118492: Re: Iso image http://community.qnx.com/sf/go/post118492 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. Tue, 30 Jan 2018 15:17:39 GMT http://community.qnx.com/sf/go/post118492 Nick Reilly 2018-01-30T15:17:39Z post118489: Re: Iso image http://community.qnx.com/sf/go/post118489 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 Tue, 30 Jan 2018 14:10:05 GMT http://community.qnx.com/sf/go/post118489 Gervot Olivier(deleted) 2018-01-30T14:10:05Z post118486: Re: Iso image http://community.qnx.com/sf/go/post118486 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. Mon, 29 Jan 2018 18:01:01 GMT http://community.qnx.com/sf/go/post118486 Nick Reilly 2018-01-29T18:01:01Z post118482: Iso image http://community.qnx.com/sf/go/post118482 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 Mon, 29 Jan 2018 17:24:50 GMT http://community.qnx.com/sf/go/post118482 Gervot Olivier(deleted) 2018-01-29T17:24:50Z post118443: Qnet and Qnetstats Description http://community.qnx.com/sf/go/post118443 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! Tue, 23 Jan 2018 17:21:24 GMT http://community.qnx.com/sf/go/post118443 Scott Poulin(deleted) 2018-01-23T17:21:24Z post118032: Error parsing CGI script HTTP header data http://community.qnx.com/sf/go/post118032 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 Tue, 12 Sep 2017 14:15:47 GMT http://community.qnx.com/sf/go/post118032 saurabh parmar(deleted) 2017-09-12T14:15:47Z post117752: Re: RE: stack_interrupt_remove http://community.qnx.com/sf/go/post117752 Did you ever find out what caused this? We are facing the same problem now. -Gaute Mon, 22 May 2017 12:15:54 GMT http://community.qnx.com/sf/go/post117752 Gaute Nilsson 2017-05-22T12:15:54Z post117324: qnet: kif_server@899 kif_server_msgs Overflow(0) [and process not terminating as expected] http://community.qnx.com/sf/go/post117324 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 Thu, 12 Jan 2017 10:36:52 GMT http://community.qnx.com/sf/go/post117324 Davide Ancri 2017-01-12T10:36:52Z post116952: Qnet and ethercat? http://community.qnx.com/sf/go/post116952 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 Fri, 07 Oct 2016 17:41:06 GMT http://community.qnx.com/sf/go/post116952 Claudia Choi 2016-10-07T17:41:06Z post116818: libspi-master not found in QNX 6.6 http://community.qnx.com/sf/go/post116818 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 Mon, 19 Sep 2016 15:21:22 GMT http://community.qnx.com/sf/go/post116818 Bob Selby(deleted) 2016-09-19T15:21:22Z post116816: Re: Where is libspi-master? http://community.qnx.com/sf/go/post116816 I have the same problem on v6.6 ... it's NOT in the prebuilt area and it's not built Mon, 19 Sep 2016 15:01:37 GMT http://community.qnx.com/sf/go/post116816 Bob Selby(deleted) 2016-09-19T15:01:37Z post116476: does qnx provide wpa_supplicant/hostapd for 64bit http://community.qnx.com/sf/go/post116476 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 Thu, 23 Jun 2016 08:45:50 GMT http://community.qnx.com/sf/go/post116476 Wenbin Fu 2016-06-23T08:45:50Z post116053: Re: Server/Client app slow data transfer rate http://community.qnx.com/sf/go/post116053 Second testing is between (QNX and Windows) Data transfer rate: 150 KBps Wed, 06 Apr 2016 01:15:08 GMT http://community.qnx.com/sf/go/post116053 Ankur Patel(deleted) 2016-04-06T01:15:08Z post116052: Server/Client app slow data transfer rate http://community.qnx.com/sf/go/post116052 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) Wed, 06 Apr 2016 00:31:21 GMT http://community.qnx.com/sf/go/post116052 Ankur Patel(deleted) 2016-04-06T00:31:21Z post116045: Re: Cellular modem and PPP http://community.qnx.com/sf/go/post116045 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. Mon, 04 Apr 2016 17:49:37 GMT http://community.qnx.com/sf/go/post116045 Nick Reilly 2016-04-04T17:49:37Z post116043: Re: Cellular modem and PPP http://community.qnx.com/sf/go/post116043 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. Mon, 04 Apr 2016 16:53:02 GMT http://community.qnx.com/sf/go/post116043 Todd Peterson(deleted) 2016-04-04T16:53:02Z post116040: Re: Cellular modem and PPP http://community.qnx.com/sf/go/post116040 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. Fri, 01 Apr 2016 15:08:11 GMT http://community.qnx.com/sf/go/post116040 Ankur Patel(deleted) 2016-04-01T15:08:11Z post116030: Cellular modem and PPP http://community.qnx.com/sf/go/post116030 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 '' Tue, 29 Mar 2016 16:37:26 GMT http://community.qnx.com/sf/go/post116030 Todd Peterson(deleted) 2016-03-29T16:37:26Z post115940: Re: Wireless Data transfer http://community.qnx.com/sf/go/post115940 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. Wed, 09 Mar 2016 15:40:15 GMT http://community.qnx.com/sf/go/post115940 Ankur Patel(deleted) 2016-03-09T15:40:15Z post115856: Re: How an application running on Windows, uses the serial port on the QNX target? http://community.qnx.com/sf/go/post115856 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. Tue, 23 Feb 2016 17:44:47 GMT http://community.qnx.com/sf/go/post115856 Ankur Patel(deleted) 2016-02-23T17:44:47Z post115842: Ad-Hoc network http://community.qnx.com/sf/go/post115842 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? Mon, 22 Feb 2016 23:16:43 GMT http://community.qnx.com/sf/go/post115842 Ankur Patel(deleted) 2016-02-22T23:16:43Z post115729: Re: Wireless Data transfer http://community.qnx.com/sf/go/post115729 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. Thu, 11 Feb 2016 16:34:14 GMT http://community.qnx.com/sf/go/post115729 Ankur Patel(deleted) 2016-02-11T16:34:14Z post115728: Re: Wireless Data transfer http://community.qnx.com/sf/go/post115728 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? Thu, 11 Feb 2016 16:25:40 GMT http://community.qnx.com/sf/go/post115728 Ankur Patel(deleted) 2016-02-11T16:25:40Z post115727: Re: Wireless Data transfer http://community.qnx.com/sf/go/post115727 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. Thu, 11 Feb 2016 15:07:53 GMT http://community.qnx.com/sf/go/post115727 Nick Reilly 2016-02-11T15:07:53Z post115726: Re: Wireless Data transfer http://community.qnx.com/sf/go/post115726 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 Thu, 11 Feb 2016 14:56:50 GMT http://community.qnx.com/sf/go/post115726 Mark Wakim 2016-02-11T14:56:50Z post115721: Re: Wireless Data transfer http://community.qnx.com/sf/go/post115721 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 Thu, 11 Feb 2016 01:00:12 GMT http://community.qnx.com/sf/go/post115721 Ankur Patel(deleted) 2016-02-11T01:00:12Z post115714: Re: Wireless Data transfer http://community.qnx.com/sf/go/post115714 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 Wed, 10 Feb 2016 12:41:48 GMT http://community.qnx.com/sf/go/post115714 Hugh Brown 2016-02-10T12:41:48Z post115710: Wireless Data transfer http://community.qnx.com/sf/go/post115710 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. Wed, 10 Feb 2016 01:35:23 GMT http://community.qnx.com/sf/go/post115710 Ankur Patel(deleted) 2016-02-10T01:35:23Z post115667: Re: "Missing" IP headers and pfil order http://community.qnx.com/sf/go/post115667 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 Wed, 03 Feb 2016 17:51:08 GMT http://community.qnx.com/sf/go/post115667 Nick Reilly 2016-02-03T17:51:08Z post115665: Re: "Missing" IP headers and pfil order http://community.qnx.com/sf/go/post115665 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. Wed, 03 Feb 2016 16:14:33 GMT http://community.qnx.com/sf/go/post115665 peter graham(deleted) 2016-02-03T16:14:33Z post115663: Re: "Missing" IP headers and pfil order http://community.qnx.com/sf/go/post115663 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. Wed, 03 Feb 2016 13:53:57 GMT http://community.qnx.com/sf/go/post115663 Nick Reilly 2016-02-03T13:53:57Z post115662: Re: "Missing" IP headers and pfil order http://community.qnx.com/sf/go/post115662 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 Wed, 03 Feb 2016 13:43:53 GMT http://community.qnx.com/sf/go/post115662 peter graham(deleted) 2016-02-03T13:43:53Z post115660: Re: "Missing" IP headers and pfil order http://community.qnx.com/sf/go/post115660 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. Tue, 02 Feb 2016 20:53:39 GMT http://community.qnx.com/sf/go/post115660 Nick Reilly 2016-02-02T20:53:39Z post115659: "Missing" IP headers and pfil order http://community.qnx.com/sf/go/post115659 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? Tue, 02 Feb 2016 20:36:34 GMT http://community.qnx.com/sf/go/post115659 peter graham(deleted) 2016-02-02T20:36:34Z post114621: Enabling default passkey and legacy pin in Bluetooth http://community.qnx.com/sf/go/post114621 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 Sat, 10 Oct 2015 06:49:48 GMT http://community.qnx.com/sf/go/post114621 Manoj R(deleted) 2015-10-10T06:49:48Z post114495: Re: Boost::Asio Async write failed http://community.qnx.com/sf/go/post114495 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. Tue, 22 Sep 2015 22:17:23 GMT http://community.qnx.com/sf/go/post114495 K Seto(deleted) 2015-09-22T22:17:23Z post114493: Boost::Asio Async write failed http://community.qnx.com/sf/go/post114493 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. Tue, 22 Sep 2015 17:43:50 GMT http://community.qnx.com/sf/go/post114493 K Seto(deleted) 2015-09-22T17:43:50Z post114433: Re: Help learning to use the packet filtering tools http://community.qnx.com/sf/go/post114433 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 $ Tue, 08 Sep 2015 13:34:13 GMT http://community.qnx.com/sf/go/post114433 Nick Reilly 2015-09-08T13:34:13Z post114427: Re: Help learning to use the packet filtering tools http://community.qnx.com/sf/go/post114427 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. Fri, 04 Sep 2015 22:01:49 GMT http://community.qnx.com/sf/go/post114427 Samuel Hutchinson(deleted) 2015-09-04T22:01:49Z post114426: Re: Help learning to use the packet filtering tools http://community.qnx.com/sf/go/post114426 See the PCAP documentation on TCPDUMP page: http://www.tcpdump.org/pcap.html Fri, 04 Sep 2015 18:45:55 GMT http://community.qnx.com/sf/go/post114426 Nick Reilly 2015-09-04T18:45:55Z post114425: Re: Help learning to use the packet filtering tools http://community.qnx.com/sf/go/post114425 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. Fri, 04 Sep 2015 18:34:07 GMT http://community.qnx.com/sf/go/post114425 Samuel Hutchinson(deleted) 2015-09-04T18:34:07Z post114420: Re: Help learning to use the packet filtering tools http://community.qnx.com/sf/go/post114420 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. Fri, 04 Sep 2015 13:04:31 GMT http://community.qnx.com/sf/go/post114420 Nick Reilly 2015-09-04T13:04:31Z post114414: Help learning to use the packet filtering tools http://community.qnx.com/sf/go/post114414 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. Thu, 03 Sep 2015 22:28:20 GMT http://community.qnx.com/sf/go/post114414 Samuel Hutchinson(deleted) 2015-09-03T22:28:20Z post114050: io-char S/W buffer overrun error http://community.qnx.com/sf/go/post114050 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. Wed, 01 Jul 2015 11:29:45 GMT http://community.qnx.com/sf/go/post114050 Simon Barrett(deleted) 2015-07-01T11:29:45Z post113688: RE: qnet: fast resolver configuration for local environment http://community.qnx.com/sf/go/post113688 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 Tue, 07 Apr 2015 14:45:53 GMT http://community.qnx.com/sf/go/post113688 Dave Brown 2015-04-07T14:45:53Z post113685: qnet: fast resolver configuration for local environment http://community.qnx.com/sf/go/post113685 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"? Tue, 07 Apr 2015 06:45:15 GMT http://community.qnx.com/sf/go/post113685 Thomas Schickentanz 2015-04-07T06:45:15Z post113654: Re: TFTP not working in QNX 6.5 http://community.qnx.com/sf/go/post113654 I think you will need to raise this via your support channel and we will address it. Tue, 31 Mar 2015 17:56:50 GMT http://community.qnx.com/sf/go/post113654 Nick Reilly 2015-03-31T17:56:50Z post113652: Re: TFTP not working in QNX 6.5 http://community.qnx.com/sf/go/post113652 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 ? Tue, 31 Mar 2015 17:14:20 GMT http://community.qnx.com/sf/go/post113652 Deepankar Gaur(deleted) 2015-03-31T17:14:20Z post113485: Re: TFTP not working in QNX 6.5 http://community.qnx.com/sf/go/post113485 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. Tue, 03 Mar 2015 15:17:46 GMT http://community.qnx.com/sf/go/post113485 Nick Reilly 2015-03-03T15:17:46Z post113479: Re: TFTP not working in QNX 6.5 http://community.qnx.com/sf/go/post113479 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 ? ? ? Tue, 03 Mar 2015 08:03:23 GMT http://community.qnx.com/sf/go/post113479 Deepankar Gaur(deleted) 2015-03-03T08:03:23Z post113455: Re: TFTP not working in QNX 6.5 http://community.qnx.com/sf/go/post113455 Try running a syslogd on machine A to capture the logging from tftpd and see what it reports. Mon, 02 Mar 2015 15:23:40 GMT http://community.qnx.com/sf/go/post113455 Nick Reilly 2015-03-02T15:23:40Z post113446: TFTP not working in QNX 6.5 http://community.qnx.com/sf/go/post113446 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. Mon, 02 Mar 2015 08:16:39 GMT http://community.qnx.com/sf/go/post113446 Deepankar Gaur(deleted) 2015-03-02T08:16:39Z post113337: Re: DNS Lookup. How can we disable Reverse DNS lookup in QNX http://community.qnx.com/sf/go/post113337 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? Thu, 19 Feb 2015 08:17:00 GMT http://community.qnx.com/sf/go/post113337 Sajal Malhotra(deleted) 2015-02-19T08:17:00Z post113294: Re: DNS Lookup. How can we disable Reverse DNS lookup in QNX http://community.qnx.com/sf/go/post113294 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 Wed, 11 Feb 2015 13:39:52 GMT http://community.qnx.com/sf/go/post113294 Nick Reilly 2015-02-11T13:39:52Z post113293: Re: DNS Lookup. How can we disable Reverse DNS lookup in QNX http://community.qnx.com/sf/go/post113293 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. Wed, 11 Feb 2015 13:21:48 GMT http://community.qnx.com/sf/go/post113293 Gervais Mulongoy 2015-02-11T13:21:48Z post113290: DNS Lookup. How can we disable Reverse DNS lookup in QNX http://community.qnx.com/sf/go/post113290 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 Wed, 11 Feb 2015 12:51:50 GMT http://community.qnx.com/sf/go/post113290 Sajal Malhotra(deleted) 2015-02-11T12:51:50Z post113231: What else could be filtering besides pf? http://community.qnx.com/sf/go/post113231 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 Thu, 05 Feb 2015 15:55:37 GMT http://community.qnx.com/sf/go/post113231 Philip Deneau 2015-02-05T15:55:37Z post113117: Re: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post113117 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. Wed, 28 Jan 2015 13:49:03 GMT http://community.qnx.com/sf/go/post113117 Nick Reilly 2015-01-28T13:49:03Z post113116: Re: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post113116 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 >> > > Wed, 28 Jan 2015 10:06:57 GMT http://community.qnx.com/sf/go/post113116 Sajal Malhotra(deleted) 2015-01-28T10:06:57Z post112987: Re: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post112987 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 > Mon, 19 Jan 2015 08:02:59 GMT http://community.qnx.com/sf/go/post112987 Sajal Malhotra(deleted) 2015-01-19T08:02:59Z post112858: RE: Adaptative partitionning http://community.qnx.com/sf/go/post112858 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 Wed, 07 Jan 2015 17:41:35 GMT http://community.qnx.com/sf/go/post112858 Joel Pilon(deleted) 2015-01-07T17:41:35Z post112854: Re: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post112854 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(...); Wed, 07 Jan 2015 14:46:53 GMT http://community.qnx.com/sf/go/post112854 Sean Boudreau(deleted) 2015-01-07T14:46:53Z post112853: Re: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post112853 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 > > Wed, 07 Jan 2015 14:38:45 GMT http://community.qnx.com/sf/go/post112853 Sean Boudreau(deleted) 2015-01-07T14:38:45Z post112849: Re: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post112849 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 > Wed, 07 Jan 2015 08:18:35 GMT http://community.qnx.com/sf/go/post112849 Sajal Malhotra(deleted) 2015-01-07T08:18:35Z post112837: Adaptative partitionning http://community.qnx.com/sf/go/post112837 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 ? Tue, 06 Jan 2015 16:13:33 GMT http://community.qnx.com/sf/go/post112837 Gervot Olivier(deleted) 2015-01-06T16:13:33Z post112822: Re: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post112822 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. Mon, 05 Jan 2015 15:00:57 GMT http://community.qnx.com/sf/go/post112822 Nick Reilly 2015-01-05T15:00:57Z post112795: How to Fix the Source IP used in DNS Request sent from system. http://community.qnx.com/sf/go/post112795 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 Tue, 30 Dec 2014 07:36:59 GMT http://community.qnx.com/sf/go/post112795 Sajal Malhotra(deleted) 2014-12-30T07:36:59Z post112718: Ad-Hoc mode for wl1271 http://community.qnx.com/sf/go/post112718 Anyone ever tried to get this to work? I've seen conflicting reports out there about this chip/driver even supporting adhoc mode. Thanks. Wed, 17 Dec 2014 17:54:13 GMT http://community.qnx.com/sf/go/post112718 Steve Iribarne(deleted) 2014-12-17T17:54:13Z post112363: XML Parser http://community.qnx.com/sf/go/post112363 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 Tue, 18 Nov 2014 10:44:21 GMT http://community.qnx.com/sf/go/post112363 Gervot Olivier(deleted) 2014-11-18T10:44:21Z post112074: Re: Where is libspi-master? http://community.qnx.com/sf/go/post112074 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 Tue, 21 Oct 2014 00:45:19 GMT http://community.qnx.com/sf/go/post112074 Mate Szarvas 2014-10-21T00:45:19Z post112072: Where is libspi-master? http://community.qnx.com/sf/go/post112072 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. Mon, 20 Oct 2014 15:54:33 GMT http://community.qnx.com/sf/go/post112072 Derek Ross(deleted) 2014-10-20T15:54:33Z post111990: Re: GPMI NAND driver http://community.qnx.com/sf/go/post111990 Forgot to mention that our development is based on the SabreLite board. Wed, 08 Oct 2014 19:32:34 GMT http://community.qnx.com/sf/go/post111990 Derek Ross(deleted) 2014-10-08T19:32:34Z post111989: GPMI NAND driver http://community.qnx.com/sf/go/post111989 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! Wed, 08 Oct 2014 19:29:49 GMT http://community.qnx.com/sf/go/post111989 Derek Ross(deleted) 2014-10-08T19:29:49Z post111913: Re: GPIO Crownbay http://community.qnx.com/sf/go/post111913 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! Mon, 29 Sep 2014 11:39:20 GMT http://community.qnx.com/sf/go/post111913 Will Moore(deleted) 2014-09-29T11:39:20Z post111912: Re: GPIO Crownbay http://community.qnx.com/sf/go/post111912 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 ! Mon, 29 Sep 2014 11:13:13 GMT http://community.qnx.com/sf/go/post111912 Ivan Cayon 2014-09-29T11:13:13Z post111911: Re: GPIO Crownbay http://community.qnx.com/sf/go/post111911 Hi Iván, did you ever get the GPIO working? Mon, 29 Sep 2014 10:45:58 GMT http://community.qnx.com/sf/go/post111911 Will Moore(deleted) 2014-09-29T10:45:58Z post111888: Re: x86 6.6.0 APIC BSP terminal issue http://community.qnx.com/sf/go/post111888 Sorted after setting TERM=qansi-m in terminal Fri, 26 Sep 2014 08:26:44 GMT http://community.qnx.com/sf/go/post111888 Jaychander Thiru(deleted) 2014-09-26T08:26:44Z post111887: x86 6.6.0 APIC BSP terminal issue http://community.qnx.com/sf/go/post111887 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 Fri, 26 Sep 2014 08:21:52 GMT http://community.qnx.com/sf/go/post111887 Jaychander Thiru(deleted) 2014-09-26T08:21:52Z post111696: Re: Problem with USB on Atom based SBC and QNX 6.6 [solved] http://community.qnx.com/sf/go/post111696 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. Thu, 11 Sep 2014 05:17:44 GMT http://community.qnx.com/sf/go/post111696 Eli Kozikaro 2014-09-11T05:17:44Z post111640: Problem with USB on Atom based SBC and QNX 6.6 http://community.qnx.com/sf/go/post111640 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 Thu, 04 Sep 2014 20:18:59 GMT http://community.qnx.com/sf/go/post111640 Eli Kozikaro 2014-09-04T20:18:59Z post111608: Re: io-pkt avb library API http://community.qnx.com/sf/go/post111608 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. Tue, 02 Sep 2014 17:15:31 GMT http://community.qnx.com/sf/go/post111608 Nick Reilly 2014-09-02T17:15:31Z post111600: io-pkt avb library API http://community.qnx.com/sf/go/post111600 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? Mon, 01 Sep 2014 09:32:52 GMT http://community.qnx.com/sf/go/post111600 Marcin Górski(deleted) 2014-09-01T09:32:52Z post111511: Re: Running two drivers at same time, e1000 and mx6x http://community.qnx.com/sf/go/post111511 ‎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 Wed, 20 Aug 2014 21:34:18 GMT http://community.qnx.com/sf/go/post111511 Sean Boudreau(deleted) 2014-08-20T21:34:18Z post111508: Running two drivers at same time, e1000 and mx6x http://community.qnx.com/sf/go/post111508 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! Wed, 20 Aug 2014 20:39:44 GMT http://community.qnx.com/sf/go/post111508 Derek Ross(deleted) 2014-08-20T20:39:44Z post111434: Re: Manage socket during cable disconnection http://community.qnx.com/sf/go/post111434 Thank for your reply I ll try this Olivier Thu, 14 Aug 2014 12:36:13 GMT http://community.qnx.com/sf/go/post111434 Gervot Olivier(deleted) 2014-08-14T12:36:13Z post111408: Re: Manage socket during cable disconnection http://community.qnx.com/sf/go/post111408 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 Wed, 13 Aug 2014 14:22:12 GMT http://community.qnx.com/sf/go/post111408 Nick Reilly 2014-08-13T14:22:12Z post111402: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111402 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 Wed, 13 Aug 2014 13:20:55 GMT http://community.qnx.com/sf/go/post111402 Hugh Brown 2014-08-13T13:20:55Z post111401: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111401 It seems to be much better. So I'd say this is now solved. Wed, 13 Aug 2014 13:19:40 GMT http://community.qnx.com/sf/go/post111401 Steve Iribarne(deleted) 2014-08-13T13:19:40Z post111398: Manage socket during cable disconnection http://community.qnx.com/sf/go/post111398 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 Wed, 13 Aug 2014 08:49:34 GMT http://community.qnx.com/sf/go/post111398 Gervot Olivier(deleted) 2014-08-13T08:49:34Z post111378: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111378 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. Mon, 11 Aug 2014 18:10:00 GMT http://community.qnx.com/sf/go/post111378 Steve Iribarne(deleted) 2014-08-11T18:10:00Z post111374: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111374 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 Mon, 11 Aug 2014 15:56:32 GMT http://community.qnx.com/sf/go/post111374 Hugh Brown 2014-08-11T15:56:32Z post111373: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111373 ARM Thanks.. that would be fantastic!! Mon, 11 Aug 2014 15:51:08 GMT http://community.qnx.com/sf/go/post111373 Steve Iribarne(deleted) 2014-08-11T15:51:08Z post111372: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111372 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 Mon, 11 Aug 2014 15:45:53 GMT http://community.qnx.com/sf/go/post111372 Hugh Brown 2014-08-11T15:45:53Z post111371: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111371 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. Mon, 11 Aug 2014 15:38:45 GMT http://community.qnx.com/sf/go/post111371 Steve Iribarne(deleted) 2014-08-11T15:38:45Z post111370: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111370 Which devnp drivers are you using and can you confirm the version by copying the output of "use -i" for each? Mon, 11 Aug 2014 15:32:36 GMT http://community.qnx.com/sf/go/post111370 Gervais Mulongoy 2014-08-11T15:32:36Z post111369: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111369 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 Mon, 11 Aug 2014 15:15:58 GMT http://community.qnx.com/sf/go/post111369 Steve Iribarne(deleted) 2014-08-11T15:15:58Z post111368: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111368 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. Mon, 11 Aug 2014 15:07:51 GMT http://community.qnx.com/sf/go/post111368 Nick Reilly 2014-08-11T15:07:51Z post111367: Re: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111367 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? Mon, 11 Aug 2014 15:07:18 GMT http://community.qnx.com/sf/go/post111367 Gervais Mulongoy 2014-08-11T15:07:18Z post111366: io-pkt-v4-hc (6.5.0SP1) memory leak?? http://community.qnx.com/sf/go/post111366 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 Mon, 11 Aug 2014 15:02:22 GMT http://community.qnx.com/sf/go/post111366 Steve Iribarne(deleted) 2014-08-11T15:02:22Z post111067: Re: How to configure ntp? http://community.qnx.com/sf/go/post111067 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 Wed, 16 Jul 2014 10:55:35 GMT http://community.qnx.com/sf/go/post111067 andi Smith(deleted) 2014-07-16T10:55:35Z post110840: Re: Verifying for a hardware loopback connection http://community.qnx.com/sf/go/post110840 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 Tue, 24 Jun 2014 11:16:27 GMT http://community.qnx.com/sf/go/post110840 Prashant Singh Parihar 2014-06-24T11:16:27Z post110754: Re: Verifying for a hardware loopback connection http://community.qnx.com/sf/go/post110754 Packet filtering with lsm-pf is different from the BPF API. However BPF is still going to require root access. Wed, 18 Jun 2014 17:26:59 GMT http://community.qnx.com/sf/go/post110754 Nick Reilly 2014-06-18T17:26:59Z post110753: Re: Verifying for a hardware loopback connection http://community.qnx.com/sf/go/post110753 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. Wed, 18 Jun 2014 17:02:33 GMT http://community.qnx.com/sf/go/post110753 Prashant Singh Parihar 2014-06-18T17:02:33Z post110743: Re: Verifying for a hardware loopback connection http://community.qnx.com/sf/go/post110743 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. Wed, 18 Jun 2014 12:30:26 GMT http://community.qnx.com/sf/go/post110743 Nick Reilly 2014-06-18T12:30:26Z post110742: Re: Verifying for a hardware loopback connection http://community.qnx.com/sf/go/post110742 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 Wed, 18 Jun 2014 11:27:57 GMT http://community.qnx.com/sf/go/post110742 Gervais Mulongoy 2014-06-18T11:27:57Z post110740: Verifying for a hardware loopback connection http://community.qnx.com/sf/go/post110740 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. Wed, 18 Jun 2014 10:14:44 GMT http://community.qnx.com/sf/go/post110740 Prashant Singh Parihar 2014-06-18T10:14:44Z post110491: Re: Timing resolution for tcpdump / libpcap http://community.qnx.com/sf/go/post110491 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 > Tue, 27 May 2014 09:37:52 GMT http://community.qnx.com/sf/go/post110491 Armin Steinhoff 2014-05-27T09:37:52Z post110490: Re: Timing resolution for tcpdump / libpcap http://community.qnx.com/sf/go/post110490 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! Mon, 26 May 2014 15:04:00 GMT http://community.qnx.com/sf/go/post110490 J Sinton(deleted) 2014-05-26T15:04:00Z post110486: Re: Timing resolution for tcpdump / libpcap http://community.qnx.com/sf/go/post110486 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? Mon, 26 May 2014 12:15:56 GMT http://community.qnx.com/sf/go/post110486 Gervais Mulongoy 2014-05-26T12:15:56Z post110480: Timing resolution for tcpdump / libpcap http://community.qnx.com/sf/go/post110480 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 Fri, 23 May 2014 20:11:00 GMT http://community.qnx.com/sf/go/post110480 J Sinton(deleted) 2014-05-23T20:11:00Z post110220: Re: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post110220 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 Thu, 08 May 2014 12:11:49 GMT http://community.qnx.com/sf/go/post110220 Gervais Mulongoy 2014-05-08T12:11:49Z post110211: Re: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post110211 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? Thu, 08 May 2014 07:22:03 GMT http://community.qnx.com/sf/go/post110211 rich lee(deleted) 2014-05-08T07:22:03Z post109729: Re: RE: RE: RE: gps coordinates http://community.qnx.com/sf/go/post109729 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 Tue, 01 Apr 2014 14:50:01 GMT http://community.qnx.com/sf/go/post109729 marco spinetti(deleted) 2014-04-01T14:50:01Z post109726: RE: RE: RE: gps coordinates http://community.qnx.com/sf/go/post109726 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 Tue, 01 Apr 2014 13:06:46 GMT http://community.qnx.com/sf/go/post109726 Mario Charest 2014-04-01T13:06:46Z post109724: Re: RE: RE: gps coordinates http://community.qnx.com/sf/go/post109724 I think I can solve my problem if I could execute command tool gpspipe from sdcard. How can I do it? Thanks Tue, 01 Apr 2014 12:40:58 GMT http://community.qnx.com/sf/go/post109724 marco spinetti(deleted) 2014-04-01T12:40:58Z post109719: Re: RE: RE: gps coordinates http://community.qnx.com/sf/go/post109719 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 Tue, 01 Apr 2014 12:11:41 GMT http://community.qnx.com/sf/go/post109719 marco spinetti(deleted) 2014-04-01T12:11:41Z post109662: RE: RE: gps coordinates http://community.qnx.com/sf/go/post109662 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 Fri, 28 Mar 2014 10:11:15 GMT http://community.qnx.com/sf/go/post109662 Mario Charest 2014-03-28T10:11:15Z post109661: Re: RE: gps coordinates http://community.qnx.com/sf/go/post109661 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. Fri, 28 Mar 2014 10:00:43 GMT http://community.qnx.com/sf/go/post109661 marco spinetti(deleted) 2014-03-28T10:00:43Z post109660: RE: gps coordinates http://community.qnx.com/sf/go/post109660 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 Fri, 28 Mar 2014 09:58:21 GMT http://community.qnx.com/sf/go/post109660 Mario Charest 2014-03-28T09:58:21Z post109659: gps coordinates http://community.qnx.com/sf/go/post109659 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 Fri, 28 Mar 2014 08:57:01 GMT http://community.qnx.com/sf/go/post109659 marco spinetti(deleted) 2014-03-28T08:57:01Z post109451: Re: tso4 and checksum http://community.qnx.com/sf/go/post109451 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 Mon, 17 Mar 2014 11:47:38 GMT http://community.qnx.com/sf/go/post109451 Hugh Brown 2014-03-17T11:47:38Z post109442: tso4 and checksum http://community.qnx.com/sf/go/post109442 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 ? Fri, 14 Mar 2014 19:47:51 GMT http://community.qnx.com/sf/go/post109442 Mario Charest 2014-03-14T19:47:51Z post108976: Re: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post108976 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 Fri, 21 Feb 2014 13:05:36 GMT http://community.qnx.com/sf/go/post108976 Gervais Mulongoy 2014-02-21T13:05:36Z post108966: Re: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post108966 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? Fri, 21 Feb 2014 00:24:37 GMT http://community.qnx.com/sf/go/post108966 rich lee(deleted) 2014-02-21T00:24:37Z post108925: Re: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post108925 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. Thu, 20 Feb 2014 13:23:31 GMT http://community.qnx.com/sf/go/post108925 Gervais Mulongoy 2014-02-20T13:23:31Z post108909: Re: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post108909 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? Thu, 20 Feb 2014 00:35:18 GMT http://community.qnx.com/sf/go/post108909 Robert Pera 2014-02-20T00:35:18Z post108854: Re: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post108854 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 Tue, 18 Feb 2014 12:22:52 GMT http://community.qnx.com/sf/go/post108854 Gervais Mulongoy 2014-02-18T12:22:52Z post108826: Duplicate packets and foward into two NIC http://community.qnx.com/sf/go/post108826 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. Mon, 17 Feb 2014 03:38:58 GMT http://community.qnx.com/sf/go/post108826 rich lee(deleted) 2014-02-17T03:38:58Z post108115: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108115 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 !! Thu, 23 Jan 2014 09:30:50 GMT http://community.qnx.com/sf/go/post108115 a l(deleted) 2014-01-23T09:30:50Z post108095: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108095 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 Wed, 22 Jan 2014 17:37:00 GMT http://community.qnx.com/sf/go/post108095 Hugh Brown 2014-01-22T17:37:00Z post108094: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108094 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 Wed, 22 Jan 2014 17:32:15 GMT http://community.qnx.com/sf/go/post108094 a l(deleted) 2014-01-22T17:32:15Z post108091: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108091 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 Wed, 22 Jan 2014 15:36:46 GMT http://community.qnx.com/sf/go/post108091 Hugh Brown 2014-01-22T15:36:46Z post108090: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108090 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 Wed, 22 Jan 2014 15:26:49 GMT http://community.qnx.com/sf/go/post108090 a l(deleted) 2014-01-22T15:26:49Z post108088: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108088 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 Wed, 22 Jan 2014 14:44:40 GMT http://community.qnx.com/sf/go/post108088 Hugh Brown 2014-01-22T14:44:40Z post108087: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108087 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 Wed, 22 Jan 2014 14:37:57 GMT http://community.qnx.com/sf/go/post108087 a l(deleted) 2014-01-22T14:37:57Z post108084: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108084 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 Wed, 22 Jan 2014 14:04:00 GMT http://community.qnx.com/sf/go/post108084 Hugh Brown 2014-01-22T14:04:00Z post108083: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108083 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. Wed, 22 Jan 2014 14:01:47 GMT http://community.qnx.com/sf/go/post108083 a l(deleted) 2014-01-22T14:01:47Z post108082: Re: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108082 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 Wed, 22 Jan 2014 13:02:34 GMT http://community.qnx.com/sf/go/post108082 Hugh Brown 2014-01-22T13:02:34Z post108074: asix usb ethernet dongle problem http://community.qnx.com/sf/go/post108074 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.. Tue, 21 Jan 2014 23:05:04 GMT http://community.qnx.com/sf/go/post108074 a l(deleted) 2014-01-21T23:05:04Z post107724: Re: scripts to detect the network http://community.qnx.com/sf/go/post107724 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 Fri, 27 Dec 2013 02:08:58 GMT http://community.qnx.com/sf/go/post107724 Li frank 2013-12-27T02:08:58Z post107719: Re: scripts to detect the network http://community.qnx.com/sf/go/post107719 ‎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 Thu, 26 Dec 2013 12:31:53 GMT http://community.qnx.com/sf/go/post107719 Sean Boudreau(deleted) 2013-12-26T12:31:53Z post107714: Re: scripts to detect the network http://community.qnx.com/sf/go/post107714 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 Wed, 25 Dec 2013 09:51:06 GMT http://community.qnx.com/sf/go/post107714 Li frank 2013-12-25T09:51:06Z post107704: Re: scripts to detect the network http://community.qnx.com/sf/go/post107704 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 Tue, 24 Dec 2013 11:57:36 GMT http://community.qnx.com/sf/go/post107704 Sean Boudreau(deleted) 2013-12-24T11:57:36Z post107702: scripts to detect the network http://community.qnx.com/sf/go/post107702 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. Tue, 24 Dec 2013 05:39:53 GMT http://community.qnx.com/sf/go/post107702 Li frank 2013-12-24T05:39:53Z post107507: Re: Beta test: high speed raw ethernet interface based on DPDK ( 1GB Intel adapters) http://community.qnx.com/sf/go/post107507 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 Thu, 12 Dec 2013 20:18:56 GMT http://community.qnx.com/sf/go/post107507 Armin Steinhoff 2013-12-12T20:18:56Z post107494: Re: Beta test: high speed raw ethernet interface based on DPDK ( 1GB Intel adapters) http://community.qnx.com/sf/go/post107494 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. > > Thu, 12 Dec 2013 19:58:37 GMT http://community.qnx.com/sf/go/post107494 Armin Steinhoff 2013-12-12T19:58:37Z post107317: Re: Intel Pro/Wireless 2915ABG network card and QNX 6.5 http://community.qnx.com/sf/go/post107317 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 Mon, 09 Dec 2013 17:56:25 GMT http://community.qnx.com/sf/go/post107317 Hugh Brown 2013-12-09T17:56:25Z post107316: Re: Intel Pro/Wireless 2915ABG network card and QNX 6.5 http://community.qnx.com/sf/go/post107316 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. Mon, 09 Dec 2013 17:04:33 GMT http://community.qnx.com/sf/go/post107316 H. S. 2013-12-09T17:04:33Z post107314: Re: Intel Pro/Wireless 2915ABG network card and QNX 6.5 http://community.qnx.com/sf/go/post107314 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 Mon, 09 Dec 2013 16:49:37 GMT http://community.qnx.com/sf/go/post107314 Hugh Brown 2013-12-09T16:49:37Z post107312: Intel Pro/Wireless 2915ABG network card and QNX 6.5 http://community.qnx.com/sf/go/post107312 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. Mon, 09 Dec 2013 16:43:22 GMT http://community.qnx.com/sf/go/post107312 H. S. 2013-12-09T16:43:22Z post107299: Network Interface Card (NIC) Teaming matter. http://community.qnx.com/sf/go/post107299 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 ? Sat, 07 Dec 2013 10:56:55 GMT http://community.qnx.com/sf/go/post107299 Patrick Wong 2013-12-07T10:56:55Z post106900: Beta test: high speed raw ethernet interface based on DPDK ( 1GB Intel adapters) http://community.qnx.com/sf/go/post106900 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 Wed, 20 Nov 2013 23:53:51 GMT http://community.qnx.com/sf/go/post106900 Armin Steinhoff 2013-11-20T23:53:51Z post106738: How can I get Financial presentation captioning http://community.qnx.com/sf/go/post106738 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> Wed, 13 Nov 2013 12:34:39 GMT http://community.qnx.com/sf/go/post106738 Jackson Ben 2013-11-13T12:34:39Z post106564: Support for Intel's Q87 chipset http://community.qnx.com/sf/go/post106564 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 Wed, 06 Nov 2013 10:26:55 GMT http://community.qnx.com/sf/go/post106564 Chris Richter(deleted) 2013-11-06T10:26:55Z