--- fxload-0.0.20081013.orig/main.c
+++ fxload-0.0.20081013/main.c
@@ -33,7 +33,7 @@
  *
  *     -L <path>       -- Create a symbolic link to the device.
  *     -m <mode>       -- Set the permissions on the device after download.
- *     -D <path>       -- Use this device, instead of $DEVICE
+ *     -D <path>       -- Use this device, instead of $DEVNAME or $DEVICE
  *
  *     -V              -- Print version ID for program
  *
@@ -42,10 +42,10 @@
  * expects these environment variables which are passed by hotplug to
  * its sub-scripts:
  *
- *     DEVICE=<path>
- *         This is the path to the device is /proc/bus/usb. It is the
- *         complete path to the device, that I can pass to open and
- *         manipulate as a USB device.
+ *     DEVNAME=<path>, DEVICE=<path>
+ *         This is the path to the device in /dev/bus/usb or
+ *         /proc/bus/usb. It is the complete path to the device, that
+ *         I can pass to open and manipulate as a USB device.
  */
 
 # include  <stdlib.h>
@@ -90,13 +90,16 @@ int main(int argc, char*argv[])
 {
       const char	*link_path = 0;
       const char	*ihex_path = 0;
-      const char	*device_path = getenv("DEVICE");
+      const char	*device_path = getenv("DEVNAME");
       const char	*type = 0;
       const char	*stage1 = 0;
       mode_t		mode = 0;
       int		opt;
       int		config = -1;
 
+      if (!device_path)
+	      device_path = getenv("DEVICE");
+
       while ((opt = getopt (argc, argv, "2vV?D:I:L:c:lm:s:t:")) != EOF)
       switch (opt) {
 
@@ -190,7 +193,7 @@ usage:
 	    fputs ("\t\t[-I firmware_hexfile] ", stderr);
 	    fputs ("[-s loader] [-c config_byte]\n", stderr);
 	    fputs ("\t\t[-L link] [-m mode]\n", stderr);
-	    fputs ("... [-D devpath] overrides DEVICE= in env\n", stderr);
+	    fputs ("... [-D devpath] overrides DEVNAME= and DEVICE= in env\n", stderr);
 	    fputs ("... device types:  one of an21, fx, fx2, fx2lp\n", stderr);
 	    fputs ("... at least one of -I, -L, -m is required\n", stderr);
 	    return -1;
