Afatech Sound Cards & Media Devices Driver



Quotes of the week

They sound like akpm review comments at the end of a long day., Afatech AF9015 and AF9013 DVB-T USB2.0 receivers, Conexant cx24116/cx24118 tuners, DVB cards. Download and install AfaTech AF BDA Device – driver id. No af9035 file or directory compilation terminated. Search for drivers by ID or device name Known devices: In my case af9035 is 3. First type uname -r and note down the kernel version.

The Creative Sound BlasterX AE-5 is Creative’s latest addition to the gaming-oriented sound cards and it’s packed with features. First and foremost, while this is insignificant in the grand scheme of things, this is a nice looking card. AF9005 BDA Device is a DVB-T device produced by AfaTech. This product comes with other software such as BlazeDTV. BlazeDTV is known in full as BlazeVideo HDTV Player. This software was initially developed by BlazeVideo and is a full featured player software which combines functions of FM receiving, DVD playback, video record and HDTV playback.

ooh, I like err_ick and err_fck a lot. They sound like akpm review comments at the end of a long day.
-- Andrew Morton You should just get a real name, not that 'John Smith' crud. Something _manly_. Something unique. Something strong. Something that tells you that you're not just another clone.

Something like 'Linus Torvalds'. Except not exactly.

-- Linus Torvalds (Thanks to Matthew Burgess)

Guys, I know we geeks aren't known for our sex-life, but do we have to make it so obvious?

-- Linus Torvalds (thanks to David Lang andWalter Franzini)

Quotes of the week (part 2)

2.6.16 has become a bit dated, and I'll maintain 2.6.27 for a few years as a replacement.Afatech Sound Cards & Media Devices Driver

As with 2.6.16, I'll pickup maintenance when the normal -stable maintenance ends (at some point after 2.6.28 gets released in January).

Afatech sound cards & media devices drivers

It is intended to fill the niche for users who are not using distribution kernels but want to use a regression-free kernel for a longer time. It might be a small part of the userbase, but after the experiences with 2.6.16 I can say that there are quite a few userswho appreciate such an offering.

Afatech sound cards & media devices drivers-- Adrian Bunk

Merged for 2.6.28

As of this writing, 4193 non-merge changesets have been incorporated forthe 2.6.28 kernel. In other words, this merge window is just beginning,having merged probably less than half of the patches which will eventuallyfind their way into the mainline. What we see so far are a lot of driversand incremental improvements, but not many major changes.

User-visible changes for 2.6.28 include:

  • There are new drivers for Analog Devices SSM2602, AD1882A and AD1980 codecs, Freescale MPC5200 I2S audio devices, Texas Instruments TLV320AIC26 codecs, Tascam US-122L USB Audio/MIDI interfaces, Wolfson Micro WM8580, WM8900, WM8903, and WM8971 audio devices, Blackfin SPORT peripheral interface controllers, NVIDIA HDMI HD-audio codecs, Toshiba RBTX4939 MIPS boards, Atheros L2 10/100 network adapters, Cisco 10G Ethernet adapters, JMicron JMC250 chipset-based network adapters, QLogic QLGE 10Gb Ethernet adapters, SMSC LAN95XX based USB 2.0 10/100 ethernet devices, AFEB9260 ARM-based boards (an open source board design), Arcom/Eurotech VIPER boards, AT91SAM9X watchdog devices, ITE IT8716, IT8718, IT8726, and IT8712 Super I/O watchdogs, W83697UG/W83697UF watchdog devices, TLV320AIC23 codecs, Micron MT9M111 camera chips, Magic-Pro DMB-TH tuners, Afatech AF9015 and AF9013 DVB-T USB2.0 receivers, Conexant cx24116/cx24118 tuners, DVB cards based on SDMC DM1105 PCI chip, Silicon Laboratories SI2109/2110 demodulators, ST STB6000 DVBS Silicon tuners, numerous Fujifilm FinePix cameras, ALi video camera controllers, WM8400 AudioPlus HiFi codecs, and SGS-Thomson M48T35 Timekeeper RAM chips.
  • Support for the old Sun 4 architecture and ColdFire serial ports has been removed.
  • There is a new sysfs file (unload_heads) which can be used by a user-space process to tell an ATA disk to retract its heads and prepare for an impact. When used in conjunction with an accelerometer, this feature could be used to attempt to preserve a disk in a falling laptop.
  • Improved support for ptrace() - and support for precise event-based sampling in particular - has been added for the x86 architecture.
  • The crypto subsystem has gained support for deterministic ANSI X9.31 A.2.4 pseudo-random number generation.
  • The SMACK security module can now be configured to enforce mandatory access control rules on privileged processes.
  • There is a script which can be used to generate a minimal 'dummy' policy for SELinux. The smallest workable policy, it seems, is 587 lines long.
  • Some sound devices can detect the presence of audio devices on input and output jacks. The ALSA layer now allows drivers for those devices to register those jacks and report the presence of devices attached to sound cards through the input layer.
  • Work with multiqueue networking continues; 2.6.28 will include the ability to associate a separate queueing discipline with each internal packet queue.
  • The wireless regulatory compliance subsystem has been merged.
  • The kernel now supports the Phonet packet protocol used by Nokia cellular modems. See networking/phonet.txt in the kernel documentation directory for more information.
  • Also added to core networking is support for the Distributed Switch Architecture protocol, with initial support for a number of Marvell switch chips.
  • The netfilter layer has been augmented to support network namespaces.
  • The ext4 system has lost the 'ext4dev' name; this is a signal that the developers are getting ready to declare it ready for production use. Ext4 has also gained a set of static tracepoints for use with SystemTap or other tracing tools.
  • The FIEMAPioctl() for extent mapping has been added.
  • Xen has added CPU hotplugging support.
  • Version 4 of the rpcbind protocol is now supported; this enables the kernel to offer RPC services via IPv6.
  • The OCFS2 filesystem has gained a number of features, including POSIX locks, extended attributes, and use of the JBD2 journaling layer.

Changes visible to kernel developers include:

  • Discard request and request timeout handling have been added to the block layer; a number of other internal API changes have been made as well. See this article for details.
  • Video4Linux2 drivers no longer have their open() function called with the big kernel lock held. The lock_kernel() calls have been pushed down into individual drivers within the mainline tree; external drivers will need to be fixed.

The merge window is likely to remain open until approximatelyOctober 24.

Block layer: solid-state storage, timeouts, affinity, and more

By Jonathan Corbet
October 15, 2008
The 2.6.28 merge window has seen the addition of a number of changes to theblock layer. Here's a summary of the new features and APIs which have gonein.

Solid-state storage devices

There are some enhancements aimed at improving the kernel's supportof solid state storage devices. One of those, the discard API, has beencovered here before. This API allowshigh-level block subsystem users (filesystems) to indicate that a particular range of blocks no longercontains useful data. That allows the low-level device to incorporatethose blocks into its garbage collection scheme and to stop worrying abouttheir contents when performing wear leveling.

Since the initial LWN article, though, the API has changed a little. Theway to issue a discard request is now:

HID® OMNIKEY® X-CHIP WINDOWS BU & RU DRIVER v.1.2.29.156 (x64 and x86) hidglobalxchipdriver1.2.29.156.zip - (1.57 MB) Unattended MSI files for OMNIKEY 1021. CCID Driver for OMNIKEY readers: 1021, 3021, 3121 USB Card Reader, 5022, 5023, 5122, 5422, 5x25, 5127 CK Mini, 5427 CK, 6121. Architectures: x64, x86 OS's: Windows 10 (32- and 64-bit) Windows 8.1 (32- and 64-bit) Windows 7 (32- and 64-bit) Windows Vista (32- and 64-bit) Windows Server 2019 Windows Server 2016 Windows Server 2012 Windows Server. HID® OMNIKEY® WORKBENCH TOOL 2.2 for Mac OS sfw-01698revchidomnikeyworkbenchtool2.2-osx.zip - 129.86 MB. The OMNIKEY® Workbench Tool 2 is a standalone application that allows you to diagnose and configure HID Global® OMNIKEY readers. This versions adds features like 'Card Technology Identification', 'PACS Decoding' and more. Hid Global Driver Download for windows

The end_io() parameter seen in previous versions of the API is nolonger present. There is no way for callers to know when the requestcompletes, or, indeed, if the request completes at all. Since the calleris indicating a lack of interest in the given sectors, it really should notmatter what the device does thereafter.

There is a filesystem-level function for creating discard requests:

Here, the interface is expecting block numbers using the filesystem blocksize, rather than 512-byte sectors.

User-space programs can issue discard requests with the newBLKDISCARDioctl() call. Needless to say, suchoperations should be done with care; about the only logical user of thisioctl() would be mkfs programs.

Block drivers which support discard requests will provide a suitablefunction to the block layer:

In the absence of a 'prepare discard' function, discard requests for thedevice will fail.

The block layer has also added a flag by which drivers can indicate that adevice is not rotating storage, and, thus, does not suffer from seekdelays. By setting QUEUE_FLAG_NONROT (withqueue_flag_set() or queue_flag_set_unlocked()), a drivertells the block layer that it is working with a solid state device. I/Oschedulers can use that information to avoid plugging the queue - a usefultechnique for combining requests to rotating storage devices, but a uselessoperation when there is no seek penalty to avoid.

Request affinity

On large, multiprocessor systems, there can be a performance benefit toensuring that all processing of a block I/O request happens on the sameCPU. In particular, data associated with a given request is most likely tobe found in the cache of the CPU which originated that request, so it makessense to perform the request postprocessing on that same CPU. With 2.6.28,sysfs entries for block devices will include an rq_affinity variable.If it is set to a non-zero value, CPU affinity will be turned on for thatdevice. According to the patch changelog, turning this feature on canreduce system time by 20-40% on some benchmarks.

Timeout handling

Robust device drivers typically have to be written to handle cases wheredevices fail to complete operations they have been instructed to do. In afew cases, higher-level code helps with this task; the networking layer,for example, can track outgoing packets and let a driver know when atransmit operation has taken too long. In most other drivers, though, it'sup to the driver itself to notice when an operation seems to be taking toolong.

Like the network subsystem, the block layer manages queues of requestedoperations. As of 2.6.28 the block layer will, again like networking, havea mechanism for notifying drivers about request timeouts; that, in turn,will allow a bunch of timeout-related code to be removed from the lowerlayers. Timeout handling in the block layer can be more complex, though,and the associated API reflects that complexity.

A block driver must register a function to handle timed-out requests:

The amount of time a request should be outstanding before timing out is setup with:

Cards

The tracking of per-request timeouts is done within the block layer; thetimer for any individual request is started when that request is dispatchedto the driver by the I/O scheduler. Electronic band. Should a request fail to completebefore the timeout period passes, the driver's timeout function will becalled with a pointer to the languishing request. The driver then can doone of three things:

  • Figure out that, in fact, the request was completed as expected, but that completion had not been noticed by the driver. A dropped interrupt could bring out such a situation, for example. In this case, the driver returns BLK_EH_HANDLED, and the request will be marked as completed.
  • Decide that the request needs more time, perhaps because it has been re-issued by the driver. A BLK_EH_RESET_TIMER will start the timer again for this request.
  • Punt and return BLK_EH_NOT_HANDLED. The block layer currently does nothing at all when it gets this return code; future plans appear to include aborting the request within the block layer when this return value is encountered.

Afatech Sound Cards & Media Devices Driver

If things look bad, the driver may decide to abort any outstandingrequests, reset the device, and start over. There are a couple of newfunctions which can help with this task:

These functions will abort the given request, or all requests on the queue,as appropriate. Part of that process involves calling the driver's timeouthandler for each aborted request.

Other changes in brief

Afatech Sound Cards & Media Devices Drivers

Afatech Sound Cards & Media Devices driver

Some other block-layer changes include: Genuine driver download for windows.

  • The handling of minor numbers has been changed, allowing disks to have an essentially unbounded number of partitions. The cost of this change is that minor numbers may be attached to a different major number, and they might not all be contiguous; for this reason, drivers must set the GENHD_FL_EXT_DEVT flag before the extended numbers will be used. See this article for more information on this change.
  • The prototypes of blk_rq_map_user() and blk_rq_map_user_iov() have changed; there is now a gfp_mask parameter. This allows these functions to be used in atomic context.
  • kblockd_schedule_work() has an additional parameter specifying the relevant request queue.
  • The new function bio_kmalloc() behaves much like bio_alloc(), but it does not use a mempool to guarantee allocations and can thus fail.

It is, all told, one of the busier development cycles for the block layerin recent times.