Ns-3 Distributed Coordination Function and Collision Avoidance - udp

I am new to NS-3 and I have a UDP WiFi simulation that works fine. I need to expand my simulation by enabling Distributed Coordination Function with Collision Avoidance. Can someone please explain to me exactly how I modify my code to achieve this?
Thanks.

UDP over IP over wifi is already using the MAC-level CSMA-CA DCF. In short, your simulation is already simulating what you want.

Related

USB3 super-speed signals without USB2 D+/D-

Hello StackOverflow community,
I've been stuck on the following problem for a bit and would greatly appreciate a bit of help. I apologies in advance for my lack of knowledge about USB in general:
My goal is to use a USB3 port to transmit super-speed data between a computer and another device without having to use the D+/D- USB2 pairs (the reason is that I have 2 optical fibers only!) . In practice imagine an active optical cable which would only be able to transmit the USB 3 super-speed signals -> no D+/D-... both sides of the active cable are of course powered individually. The active cable has on both sides as I/O the copper differential pairs of the super-speed signal as well a source of power.
Both ends of this link are an issue for me at this stage: on computer side is there a way to tweak some kind of USB3 driver to ignore the typical host-device construct which I understand is imposed by the underlying USB2 protocol - a kind of by-pass? On device side... well same thing I guess - I haven't yet figured out implementation option.
Any thoughts are welcome!
Thanks a lot!
Grégory

What is the difference between active and passive fingerprinting?

Currently I am studying about how exactly the bluetooth works and I came across the terms active and passive fingerprinting techniques. Could anybody explain these terms to me or give me some pointers to literature?
I don't know enough about Bluetooth to give a specific answer about fingerprinting it, however, your question seems general, so I'll try giving a general answer.
In general, passive techniques are techniques that don't require active participation in the network. So they can be done without sending packets or frames, just by listening. This means that passive techniques are very hard to detect, but are more limited.
In the case of Bluetooth, passive fingerprinting can probably be done by listening to beacon frames, or perhaps a conversation between two of more devices.
Active fingerprinting, on the other hand, requires you to send frames into the network, to device(s) being fingerprinted, and listening to the response(s).

FT232R USB IC with direct access IO (no UART)

I would like to create a scenario to directly access IOs via USB by using FT232R.
In more detail, scenario is the following: I would like to feed an LIN transceiver IC by a FT232R USB device. However, the FT232R as a USB-serial-converter outputs UART signals, which includes a start bit as well as a stop bit. For me, it is required to not have these start and stop bits, even though they are standardized in UART protocol.
My questions:
Is it possible to use the bang mode of this device to avoid start/stop bits and transfer raw data? Then, how to program the code for doing this?
If not, are there any USB transceiver, which have to possibility via COM/driver access to fulfil my requirement?
Thanks a lot in advance for your help!
Yes, the chip provides 4 pins that can be used for generic bit banging. Here is an application note describing how to use bit banging mode.

Accurate Timings with Oscilloscopes on PC

In the world of embedded software (firmware) it is fairly common to observe the order of events, take timings and optimise a program by getting it to waggle PIO lines and capturing their behavior on an oscilloscope.
In days gone by it was possible to toggle pins on the serial and parallel ports to achieve much the same thing on PC-based software. This made it possible to capture host PC-based software events and firmware events on the same trace and examine host software/firmware interactions.
Now, my new laptop ... no serial or parallel ports! This is increasingly the case.
So, does anyone have any suggestions as to go about emitting accurate timing signals off a "modern" PC? It strikes me that we don't have any immediately programmable, lag-free output pins left.
The solution needs to run off a laptop, so using add-on cards that only plug into desktops are not permitted.
Laptop with a docking station and old-skool parallel port. An alternate is to use a "smart" box connected via USB that handles the timing for you and simply reports the results over USB.
You may want to look into some of the USB logic analyzers like the Saleae Logic kit.
You can get USB dongles that create serial and parallel ports. Make sure you do your homework though, as you want to be sure that you can get all the Pins and all their data, some of the cheaper units don't do everything you need.
I've got a PCMCIA parallel port from Quatech - model SPP-100. It is a "real" parallel port - not a USB-Parallel port one. It is "real" enough to allow me to use a parallel port dongle with Windows 7 x64 on my laptop which doesn't have a parallel port.
How about using the audio line-out port? That should at least have consistent latency since audio applications care about that. That's the only modern computer output I can think of that isn't packet-based or dedicated to other purposes. It only has two channels (though external USB audio devices could expand that, and hopefully also have consistent latency through whatever the protocol does), and there might be a DC filter, but you could at least produce reliably timed pulses.
USB logic analyzers exist, some are even chip. But keep in minds #xtofl's comment about timing.
sump.org
The Bus Pirate

How to have a computer flash a light

I'd like to have an application monitor written in C# monitoring a set of Forex trading positions. It would be connected via USB to a real set of "traffic lights" sat on a desk which it would use to indicate system status. Can anybody suggest a good solution?
Normally I'd say parallel port or some other such thing, but if you've got your hopes up for USB, then definitely have a look at the Arduino. It's a very low cost microcontroller that can run standalone, or can talk to a PC through a number of flexible interfaces (including USB).
It is extremely popular with the hobbyist community, and as such, there are a number of entry-level projects to get one started with the device. Price on Sparkfun is $35 USD for a fully assembled USB-enabled version.
I have used the concepts in this CodeProject article to successfully light up LEDs.
It might meet your requirements if:
You can use parallel port instead of usb (or maybe usb to parallal cable/dongle)
You are ready to tackle some soldering and simple electronic tinkering
You can modify the vb code to monitor your status
As the author mentions in the article, you can destroy your computer's parallel port (and worse!) if you are not very careful.
In addition, a good engineer would insist that you isolate the lights from the port to further protect the computer. (relays, triacs, opto isolators, etc.)
That being said, it does work!
The easiest solution is to buy a USB traffic light, rather than building one yourself. E.g. USB Ampel. With a simple API included, it would probably be much easier.
Traditionally people have used the X10 automation framework for this kind of thing. People at my company use it to control lava lamps to indicate the status of our continuous integration build.
There's a pointer over at How does one get started writing applications that interact with x10 protocol?
One step further is to build something yourself using a microcontroller platform like the Arduino. Some examples of what is possible with the Arduino platform are available on the Arduino Playground page.
An article on how to make traffic lights using an Arduino is available at Instructables.
Channel9 has a video from the Microsoft PDC showing how some developers use a "Build Bunny" for something similar: PDC2008 ShowOff Entry: Brian the Build Bunny
There's also more information and source code here.
Try using simple usb experimentation interfaces such as Phidgets (Www.phidgets.com) or the Velleman k8055 USB experimentation board (http://www.velleman.be/ot/en/product/view/?id=351346).
We used this product at my last job to control a set of revolving traffic lights when a build would break on our CI server. The Ethernet is nice so that you are not limited to the 3M range of USB and it is as easy as opening a TCPClient to port 10000 and sending a "1R1\r".
http://www.6bit.com/products/smartrelayE.php?products_id=33