Buenas tardes.
Últimamente he estado muy liado con la universidad y no he podido postear demasiado.
Hoy he sacado un rato libre y me he programado un parcheador de los datos de calibración de cualquier ath9k.
[ 0.000000] Linux version 3.6.7 (noltari@skynet) (gcc version 4.6.4 20121106 (prerelease) (Linaro GCC 4.6-2012.11) ) #1 Wed Nov 28 22:02:07 CET 2012
[ 0.000000] Detected Broadcom 0x6358 CPU revision a1
[ 0.000000] CPU frequency is 300 MHz
[ 0.000000] 64MB of RAM installed
[ 0.000000] registering 40 GPIOs
[ 0.000000] board_bcm963xx: Boot address 0xbe000000
[ 0.000000] board_bcm963xx: CFE version: 100.48.56-49.46
[ 0.000000] No bcm_tag found!
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 0002a010 (Broadcom BMIPS4350)
[ 0.000000] board_bcm963xx: board name: HW556_C
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 04000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x00000000-0x03ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000-0x03ffffff]
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] free_area_init_node: node 0, pgdat 802b81e0, node_mem_map 81000000
[ 0.000000] Normal zone: 128 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 16256 pages, LIFO batch:3
[ 0.000000] Reserving 0MB of memory at 0MB for crashkernel
[ 0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
[ 0.000000] Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] __ex_table already sorted, skipping sort
[ 0.000000] Memory: 61644k/65536k available (2293k kernel code, 3892k reserved, 429k data, 212k init, 0k highmem)
[ 0.000000] NR_IRQS:128
[ 0.036000] Calibrating delay loop... 299.26 BogoMIPS (lpj=598528)
[ 0.036000] pid_max: default: 32768 minimum: 301
[ 0.040000] Mount-cache hash table entries: 512
[ 0.052000] NET: Registered protocol family 16
[ 0.068000] registering PCI controller with io_map_base unset
[ 0.088000] bio: create slab <bio-0> at 0
[ 0.096000] PCI host bridge to bus 0000:00
[ 0.100000] pci_bus 0000:00: root bus resource [mem 0x30000000-0x37ffffff]
[ 0.104000] pci_bus 0000:00: root bus resource [io 0x8000000-0x800ffff]
[ 0.108000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 0.112000] pci_bus 0000:00: busn_res: [bus 00-ff] is inserted under domain [bus 00-ff]
[ 0.112000] pci 0000:00:01.0: [168c:ff1d] type 00 class 0x020000
[ 0.112000] pci 0000:00:01.0: reg 10: [mem 0x00000000-0x0000ffff]
[ 0.124000] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 0.124000] pci 0000:00:01.0: BAR 0: assigned [mem 0x30000000-0x3000ffff]
[ 0.128000] Switching to clocksource MIPS
[ 0.140000] NET: Registered protocol family 2
[ 0.148000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.152000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.160000] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.168000] TCP: reno registered
[ 0.172000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.176000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.184000] NET: Registered protocol family 1
[ 0.188000] pci 0000:00:01.0: fixup device configuration
[ 0.196000] PCI: CLS 0 bytes, default 16
[ 0.204000] audit: initializing netlink socket (disabled)
[ 0.208000] type=2000 audit(0.208:1): initialized
[ 0.216000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.220000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.232000] msgmni has been set to 120
[ 0.236000] io scheduler noop registered
[ 0.240000] io scheduler deadline registered (default)
[ 0.248000] bcm63xx_uart.0: ttyS0 at MMIO 0xfffe0100 (irq = 10) is a bcm63xx_uart
[ 0.256000] console [ttyS0] enabled, bootconsole disabled
[ 0.272000] physmap platform flash device: 02000000 at 1e000000
[ 0.280000] physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000001 Chip ID 0x002101
[ 0.288000] physmap-flash.0: Found an alias at 0x1000000 for the chip at 0x0
[ 0.288000] Amd/Fujitsu Extended Query Table at 0x0040
[ 0.296000] Amd/Fujitsu Extended Query version 1.3.
[ 0.300000] number of CFI chips: 1
[ 0.304000] bcm63xxpart: CFE boot tag found with version 8 and board type HW556
[ 0.312000] bcm63xxpart: Partition 0 is CFE offset 0 and length 20000
[ 0.316000] bcm63xxpart: Partition 1 is kernel offset 20100 and length fff00
[ 0.324000] bcm63xxpart: Partition 2 is rootfs offset 120000 and length dc0000
[ 0.332000] bcm63xxpart: Partition 3 is cal_data offset ee0000 and length 20000
[ 0.340000] bcm63xxpart: Partition 4 is nvram offset fe0000 and length 20000
[ 0.348000] bcm63xxpart: Partition 5 is linux offset 20000 and length ec0000
[ 0.356000] bcm63xxpart: Spare partition is offset 2e0004 and length bffffc
[ 0.360000] 6 bcm63xxpart partitions found on MTD device physmap-flash.0
[ 0.368000] Creating 6 MTD partitions on "physmap-flash.0":
[ 0.376000] 0x000000000000-0x000000020000 : "CFE"
[ 0.384000] 0x000000020100-0x000000120000 : "kernel"
[ 0.388000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.404000] 0x000000120000-0x000000ee0000 : "rootfs"
[ 0.416000] mtd: partition "rootfs" set to be root filesystem
[ 0.420000] mtd: partition "rootfs_data" created automatically, ofs=2E0000, len=C00000
[ 0.428000] 0x0000002e0000-0x000000ee0000 : "rootfs_data"
[ 0.440000] 0x000000ee0000-0x000000f00000 : "cal_data"
[ 0.448000] 0x000000fe0000-0x000001000000 : "nvram"
[ 0.456000] 0x000000020000-0x000000ee0000 : "linux"
[ 0.476000] bcm63xx-wdt bcm63xx-wdt: started, timer margin: 30 sec
[ 0.484000] Registered led device: HW556:red:message
[ 0.484000] Registered led device: HW556:red:hspa
[ 0.488000] Registered led device: HW556:red:dsl
[ 0.488000] Registered led device: HW556:red:power
[ 0.488000] Registered led device: HW556:red:all
[ 0.488000] TCP: cubic registered
[ 0.492000] NET: Registered protocol family 17
[ 0.496000] 8021q: 802.1Q VLAN Support v1.8
[ 0.512000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[ 0.524000] Freeing unused kernel memory: 212k freed
[ 3.308000] eth0: link forced UP - 100/full - flow control off/off
[ 3.380000] roboswitch: Probing device eth0: found a 5325! It's a 5350.
[ 4.444000] There is already a switch registered on the device 'eth0'
[ 5.864000] Button Hotplug driver version 0.4.1
[ 5.896000] input: gpio-keys-polled as /devices/platform/gpio-keys-polled.0/input/input0
[ 9.932000] jffs2: notice: (359) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 8 of xref (0 dead, 2 orphan) found.
[ 13.240000] Compat-drivers backport release: compat-drivers-2012-09-04-2-gddac993
[ 13.248000] Backport based on wireless-testing.git master-2012-09-07
[ 13.256000] compat.git: wireless-testing.git
[ 13.316000] cfg80211: Calling CRDA to update world regulatory domain
[ 13.324000] cfg80211: World regulatory domain updated:
[ 13.328000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 13.336000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 13.344000] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 13.352000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 13.360000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 13.368000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 13.768000] There is already a switch registered on the device 'eth0'
[ 14.804000] PCI: Enabling device 0000:00:01.0 (0000 -> 0002)
[ 14.820000] ath: phy0: eeprom contains invalid mac address: ff:ff:ff:ff:ff:ff
[ 14.828000] ath: phy0: random mac address will be used: 0a:ae:dc:8b:8a:d6
[ 14.836000] ath: EEPROM regdomain: 0xff
[ 14.836000] ath: EEPROM indicates we should expect a direct regpair map
[ 14.836000] ath: Country alpha2 being used: JP
[ 14.836000] ath: Regpair used: 0xff
[ 14.848000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 14.852000] Registered led device: ath9k-phy0
[ 14.852000] ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xc02a0000, irq=39
[ 14.856000] cfg80211: Calling CRDA for country: JP
[ 14.864000] cfg80211: Regulatory domain changed to country: JP
[ 14.868000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 14.876000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 14.884000] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (N/A, 2000 mBm)
[ 14.892000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm)
[ 14.900000] cfg80211: (4910000 KHz - 4930000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 14.908000] cfg80211: (4910000 KHz - 4990000 KHz @ 40000 KHz), (N/A, 2300 mBm)
[ 14.916000] cfg80211: (4930000 KHz - 4950000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 14.924000] cfg80211: (5030000 KHz - 5045000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 14.932000] cfg80211: (5030000 KHz - 5090000 KHz @ 40000 KHz), (N/A, 2300 mBm)
[ 14.940000] cfg80211: (5050000 KHz - 5060000 KHz @ 10000 KHz), (N/A, 2300 mBm)
[ 14.948000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 14.956000] cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[ 14.960000] cfg80211: (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2300 mBm)
[ 15.124000] PPP generic driver version 2.4.2
[ 15.244000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 15.476000] NET: Registered protocol family 24
[ 15.524000] nf_conntrack version 0.5.0 (966 buckets, 3864 max)
[ 20.660000] eth0: link forced UP - 100/full - flow control off/off
[ 20.676000] device eth0 entered promiscuous mode
[ 20.684000] br-lan: port 1(eth0) entered forwarding state
[ 20.688000] br-lan: port 1(eth0) entered forwarding state
[ 22.692000] br-lan: port 1(eth0) entered forwarding state
Como podéis ver ya no se fuerza el regdomain a Estados Unidos.
He probado con éxito el WiFi en los canales 12 y 13.
De esta manera también se habilita el WiFi en otros canales como el 14, para la banda de 2.4GHz. Sin embargo, este canal no se puede usar en Europa.
http://en.wikipedia.org/wiki/List_of_WLAN_channelsEn cuanto tenga tiempo publico la aplicación para parchear los datos de calibración y hago un tuto en un hilo a parte, ya que esto vale para cualquier dispositivo con WiFi ath9k. Espero no dejaros con la miel en los labios por mucho tiempo, pero tenéis que entender que la universidad es lo primero :$.
Un saludo, Noltari.