diff -ruaN lirc-0.8.4.orig/drivers/lirc_atiusb/lirc_atiusb.c lirc-0.8.4/drivers/lirc_atiusb/lirc_atiusb.c
--- lirc-0.8.4.orig/drivers/lirc_atiusb/lirc_atiusb.c	2008-05-19 08:10:35.000000000 +0000
+++ lirc-0.8.4/drivers/lirc_atiusb/lirc_atiusb.c	2009-02-14 22:35:44.000000000 +0000
@@ -192,8 +192,9 @@
 /* init strings */
 #define USB_OUTLEN		7
 
-static char init1[] = {0x01, 0x00, 0x20, 0x14};
-static char init2[] = {0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20};
+static char init1[] = {0x80, 0x05, 0x1b, 0x15, 0x14, 0x20, 0x24, 0x15};
+static char init2[] = {0x83, 0x03};
+static char init3[] = {0x84, 0xd7, 0x020};
 
 struct in_endpt {
 	/* inner link in list of endpoints for the remote specified by ir */
@@ -1183,8 +1184,9 @@
 			oep->buf, USB_OUTLEN, usb_remote_send,
 			oep, oep->ep->bInterval);
 
-		send_packet(oep, 0x8004, init1);
-		send_packet(oep, 0x8007, init2);
+               send_packet(oep, 0x8007, init1);
+               send_packet(oep, 0x8002, init2);
+               send_packet(oep, 0x8003, init3);
 	}
 }