Am 03.06.2016 um 19:26 schrieb bruce m beach: > Hello All > > I am still working on cleaning up ath9k_htc firmware build tree for about 6 > months now ( and looks like I'll be doing this for all eternity**2 ) and am > not clear myself what I'm looking for right now. > > I'm looking for some kind of simple request in the ath9k_htc driver, through > the usb ep0, like a memory read on the card, where a urb is sent with > the resulting chain of events. The simpler the better. The simplest. For EP0 on drivers site: static int ath9k_hif_usb_download_fw(struct hif_device_usb *hif_dev) { int transfer, err; const void *data = hif_dev->fw_data; size_t len = hif_dev->fw_size; u32 addr = AR9271_FIRMWARE; u8 *buf = kzalloc(4096, GFP_KERNEL); u32 firm_offset; if (!buf) return -ENOMEM; while (len) { transfer = min_t(size_t, len, 4096); memcpy(buf, data, transfer); err = usb_control_msg(hif_dev->udev, usb_sndctrlpipe(hif_dev->udev, 0), FIRMWARE_DOWNLOAD, 0x40 | USB_DIR_OUT, addr >> 8, 0, buf, transfer, HZ); ============================================================================= On side of pre installed firmware, the code looks like this: open-ath9k-htc-firmware/sboot/magpie_1_1/sboot/hif/usb/src/usb_api.c LOCAL void VendorCommand(void) { #define cUSB_REQ_DOWNLOAD 0x30 #define cUSB_REQ_DOWNLOAD_COMP 0x31 #define cUSB_REQ_BOOT 0x32 #define cUSB_REQ_RESERVED_1 0x33 #define cUSB_REQ_RESERVED_2 0x34 #define cUSB_REQ_FLASH_READ 0x35 #define cUSB_REQ_FLASH_READ_COMP 0x36 //#define ZM_FIRMWARE_ADDR 0x200000 void (*funcPtr)(void); uint16_t *text_addr = 0; uint32_t ep0_data = 0x0; ...
Attachment:
signature.asc
Description: OpenPGP digital signature