You cannot do what you want with just connecting a relay to the USB port.
The USB is a bus, with a serial protocol running on it. It is necessary for you to interface with that bus using the proper protocols.
You will require a use "device" which is capable of being programmed to respond to a computer-based stimulus, and activate an external signal.
There are many ways of achieving this, from ready-made products, through DIY kits, and al the way to discrete ICs that you can use to build your own system.
Personally I would recommend one of the many DIY kits available, such as the Velleman K8055 USB Experiment Interface Board. There are many others like it.
If you want to get in to the nitty gritty, then you need to be looking at such things as Microcontrollers (which the Velleman is based on), which can be programmed to do many different things. Some of these have built-in USB support, but it takes quite a lot of in-depth knowledge of the USB protocol to get to grips with these. Most people use an "FTDI" chip to convert the USB into RS-232 first.
If you are wanting an off-the-shelf product then you may want to look at the possibility of a USB Parallel Printer Port product, that you can program and access as if it were a parallel (Centronics) port directly attached to your computer. This would give you 8 outputs you can turn on and off.
One more thing to watch out for though - most computer / microcontroller outputs won't be powerful enough to directly drive a relay. You will need to feed the signal through some "driver" circuit to achieve enough power. This may be as simple as a single transistor, or you may be looking at something more complex such as a MOSFET, etc. Oh, and beware of "Back EMF" - a relay is an "Inductive Load".
Best Answer
The following tests rely on connecting the printer to a Linux machine. Even if it's not Linux you are using on your ARM, this information is useful in identifying the protocol the printer is willing to use.
should give you a list of all USB-connected devices. However, there is quite a variety of possibilities on how you actually have to drive your printer. Frequently, printers emulate 'old' printer interfaces: Serial port or Parallel port. If that is the case, your best bet is to check
and see if the printer is listed in the events, and if it was recognized (and installed) as maybe ttyusbX or usblpX) or so. At this point, there should be information how Linux should be driving the devices (maybe HID or another protocol). If it's HID, then Linux will probably try to install its own driver. Could also be ACM (for serial emulation).
About the 0 endpoints: those are requisites by the USB norm. All USB peripherals must have an IN and OUT endpoint 0. During the setup, there should also appear at least one configuration (configuration 0). This is called the default configuration.