Search Results

Search found 7940 results on 318 pages for 'intel wireless'.

Page 133/318 | < Previous Page | 129 130 131 132 133 134 135 136 137 138 139 140  | Next Page >

  • Can I get a more portable receiver for my Logitech wireless mouse?

    - by joshcomley
    Hi there, I have a Logitech Trackman mouse, which I love and would like to take with me on my travels. However, the receiver for this thing is highly unportable (for use on a train, for example). I know you can get tiny wireless receivers like on this mouse. Is there any way to use a smaller third party receiver with my Logitech mouse, or does anyone know of a Logitech accessory or something like that which I could use? Thanks!

    Read the article

  • Can I use Ubuntu as a wireless media server which performs all decoding/processing server-side?

    - by AthloX
    I want to setup UBUNTU 12.04 desktop as Home media server. I have window 7 netbook and UBUNTU 12.04lts laptop even a samsun galaxy note tablet (android). Two desktop in other room with dualboot win7 and ubuntu. SHARP AQUOS Plasma Tv with Wi-Fi connected. I want to install ubuntu as media server to stream audio/video files over wi-fi. Not only this i want this media server to use its own processing power to decode ans stream so that on remote end only file can play without using their own resource. Is it possible to use ubuntu as media server to stream files without making the remote end to use there own resource. I want only bandwidth of Wi-Fi to be use in this and media center hardware resource.Remote end gadget should use only speaker and screen and not processing power of their own. Please any suggestion is it possible to do so ?

    Read the article

  • How can I have my VPN connect automatically when the wireless connects?

    - by ams
    I have a working VPN connection using NetworkManager, OpenConnect, and the network-manager-openconnect-gnome package, but I have to start it manually every time I connect to a network, and I have to enter my password manually each time. How can I get it to connect automatically, and remember my password (securely)? I have checked the 'Connect Automatically' box on the Configure VPN page, but this seems to have no effect. I've also got the 'Start connecting automatically' box checked in the pop-up box, and that does avoid the need to press the connect button in that window, but seems to have no part in kicking off the whole process in the first place. There is no option to remember the password in the window, but maybe there's one somewhere else?

    Read the article

  • Ubuntu 12.04 wired ethernet not working and wireless not working, How do I fix it?

    - by Eloy
    I am new to ubuntu. I recently installed the latest ubuntu for desktop from http://www.ubuntu.com/download. I was very excited to start using ubuntu until I booted the computer and saw that i couldn't connect to the internet at all. I have spent hours trying to figure this out. I keep running into people suggesting installing drivers etc. I have tried about everything and nothing seems to work. I have the ethernet cable connected to the computer but it doesn't recognize it. I ran the following: lspci | grep -i eth and I get this 09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02) Any help would be much appreciated. I am kind of bummed I have spent all this time tyring to get the internet to work and haven't even gotten to use the power of ubuntu Update copied from comment: Changing the Ethernet cable to a different one fixed the problem.

    Read the article

  • Python module: Trouble Installing Bitarray 0.8.0 on Mac OSX 10.7.4

    - by Gabriele
    I'm new here! I have trouble installing bitarray (vers 0.8.0) on my Mac OSX 10.7.4. Thanks! ('gcc' does not seem to be the problem) Last login: Sun Sep 9 22:24:25 on ttys000 host-001:~ gabriele$ gcc -version i686-apple-darwin11-llvm-gcc-4.2: no input files host-001:~ gabriele$ Last login: Sun Sep 9 22:18:41 on ttys000 host-001:~ gabriele$ cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/bitarray-0.8.0/ host-001:bitarray-0.8.0 gabriele$ python2.7 setup.py installrunning install running bdist_egg running egg_info creating bitarray.egg-info writing bitarray.egg-info/PKG-INFO writing top-level names to bitarray.egg-info/top_level.txt writing dependency_links to bitarray.egg-info/dependency_links.txt writing manifest file 'bitarray.egg-info/SOURCES.txt' reading manifest file 'bitarray.egg-info/SOURCES.txt' writing manifest file 'bitarray.egg-info/SOURCES.txt' installing library code to build/bdist.macosx-10.6-intel/egg running install_lib running build_py creating build creating build/lib.macosx-10.6-intel-2.7 creating build/lib.macosx-10.6-intel-2.7/bitarray copying bitarray/__init__.py -> build/lib.macosx-10.6-intel-2.7/bitarray copying bitarray/test_bitarray.py -> build/lib.macosx-10.6-intel-2.7/bitarray running build_ext building 'bitarray._bitarray' extension creating build/temp.macosx-10.6-intel-2.7 creating build/temp.macosx-10.6-intel-2.7/bitarray gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c bitarray/_bitarray.c -o build/temp.macosx-10.6-intel-2.7/bitarray/_bitarray.o unable to execute gcc-4.2: No such file or directory error: command 'gcc-4.2' failed with exit status 1 host-001:bitarray-0.8.0 gabriele$

    Read the article

  • Recovering data from failed Raid configuration with 4 drives and two raid sets (Asus P6T / Intel ICH10r)

    - by user56365
    I've added the complete detailed version for my question below for those who can help, but want to quickly summarize my question first. I setup two Raid arrays using (4) WD Raptors, a striped set for the OS and 1+0 set for crucial data. After booting once out of the 50 times a cable fell out, the drive wasn't recognized in the array anymore. After trying to fix it, another drive did the same. I now have two drives remaining, luckily with the parity information. I know the striped set is gone, but I need the data on the other set. Can anyone recommend anything to recover the data, or fix the two drives that doesn't allow the raid controller to recognize the drives, even though they are listed on the utility screen as still apart of the configuration but that they are not found? More Details I recently upgraded to a ASUS P6T motherboard with an Intel ICH10R raid controller and changed my previous 4 drive raid array from strictly a Raid 1+0 set to a Raid 0 for the OS/Page/Scratch drive and a Raid 1+0 set for crucial data. I never had problems after upgrading with my configuration, even when a drive died and was replaced. I managed to rebuild the array fine. Unfortunately this time around, a cable came unattached and I booted my system up until the raid status screen with the degraded error. This shouldn't have been a problem, but after I attached the drive it was no longer recognized as a member in the array. Both drives actually show up as a non-member disk. I've spent a very, very long time online trying to find information or support and haven't had much luck. After spending time trying to scan the drive for errors, damaged partition info, etc.. another drive in the set decided it didn't want to be recognized as a part of the array. At this point, I have two out of the four drives still functioning, but the Raid 1+0 array went from degraded to failed and I must find a way to retrieve that data. I think the two drives still in the array have the parity information because they show up as OS (110GB),BACKUP(80GB) and OS:1(110GB),BACKUP(80GB) under windows data management. The other two are simply 74gb Raw unallocated Is it possible recover the data using those two drive only, and which tool would I use? Could it be a simple partition table or any other error that is repairable with hard drive utilities out there? I know the Raid 0 set is done for, but I would assume because the correct drives failed in a 1+0 config to save the data I can retrieve it some how.

    Read the article

  • Suitable Ubuntu distribution

    - by Dr AMD
    I need help choosing a suitable distrbution for my PC. I am using an HP d530 CMT with: ?• CPU Type: Intel Pentium 4, 3000 MHz (15 x 200) ?• Motherboard Chipset: Intel Springdale-G i865G ?• System Memory: 1015 MB (PC3200 DDR SDRAM) ?• Video Adapter: Intel(R) 82865G Graphics Controller (96 MB) ?• 3D Accelerator: Intel Extreme Graphics 2 ?• Audio Adapter: Analog Devices AD1981B(L) @ Intel 82801EB ICH5 - AC'97 Audio Controller ?• Network Adapter: Broadcom NetXtreme Gigabit Ethernet I have tried to install Ubuntu 13.10 and 12.04 LTS. Everything is OK on Ubuntu 12.04 except, that the video card was not recognized and the media player, YouTube,etc. did not work properly.

    Read the article

  • Better way to set up samba bridge?

    - by Adam Butler
    I have an old ubuntu laptop hooked up to between my wireless network and a wired media player box. I had previously shared my wireless network connection so the media player had internet access (ie. via nat) because it was a different subnet it could not access the file shares on the wireless network. To get around this I mounted the drives from the wireless network on the laptop and re-shared them with samba. This worked ok but had some drawbacks, it seemed slow and if network computers were turned off when the laptop rebooted I had to manually mount the shares. I've just re-installed with the latest ubuntu and was wondering if there is a better way to do this. Is there some way to bridge so the media player appears to be on the wireless network? Would this give better performance? Any other options? I'm also thinking there might be some samba options that could buffer files?

    Read the article

  • No HDMI sound output on Thinkpad X1

    - by nickf
    I'm having problems getting my sound to output via HDMI to my TV. When I go to Sound Settings, the HDMI device does not appear. ~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 I don't know if the video information is helpful, but anyway: ~$ sudo lshw -C video *-display description: VGA compatible controller product: 2nd Generation Core Processor Family Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 09 width: 64 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:46 memory:d0000000-d03fffff memory:c0000000-cfffffff ioport:5000(size=64) Any suggestions for me?

    Read the article

  • Broadcom bcm4311 rev2 Full disabled on battery

    - by Antonio BG
    Ok this is my problem... My problem begins while ago when I installed ubuntu 10.10. (is the same with 11.04,11.10...) My wireless card is disabled if the power cord is unplugged, and the only way to fix this is rebooting my pc WITH the power cord plugged and if I use lspci command, it doesn't show me the wireless card. is like if I've removed the wireless board from my laptop port. I've searched a lot of solutions for bcmw4311 issues, but none of them fix my problem because when apply one of the fixes, if I unplug the cord, my wireless card it just gone away... I have dual boot on my pc(w7,ubuntu), I've tried with full installation just to see if this is the problem, but not, is the same. On windows all work correctly with and without power cord.. so this is not a hardware problem, is more like a kernel problem. anyway I can use wireless with power cord plugged, but c'mon this is a laptop not a desktop pc XD haha any help is welcome

    Read the article

  • Why no "da-doomp" (disconnect notification sound) sometimes when unplugging wireless mouse receiver?

    - by DanH
    Sometimes (maybe one case in 3), when I unplug the wireless mouse receiver on my Sony VGN-CS215J laptop, there is no "da-doomp" sound, even after a minute or two. And if I plug the receiver back in there is no corresponding "du-dump" sound and the mouse is still (immediately) "live". This can happen when the activity light is out and there's nothing obviously going on -- it's not simply that the box is too busy. Other times one gets the expected behavior (and usually I get the correct behavior if I plug the receiver back in a few seconds and then unplug it after a "failure"). The reason this is significant is that if I get no "da-doomp" then the laptop will not sleep properly -- it will go to sleep initially, but then reawaken a few minutes later inside my laptop case and proceed to run the battery down (and no doubt overheat the unit). Any ideas?

    Read the article

  • my windows xp sp3 diagnostick:windows could not detect any wired or wireless network cards installed on your machine

    - by Yosef
    Problem: cant connect to internet with my new installation of windows xp sp3. Details: I have ubuntu in pc that worked with wired internet. i format all disk and install windows xp sp3. i have auto internet that defined in my router - other computers have internet. I run diagnoze of ie and get: windows could not detect any wired or wireless network cards installed on your machine In Device Manager i have only 1394 Adapter I dont see any internet adapters. Edit: I find with ubuntu livecd that i have hardware:82566dc gigabit network connection Thanks

    Read the article

  • Is it possible to use Logmein to connect to a sleeping (Mac) computer on a wireless network?

    - by jaydles
    I'm using logmein to access my Mac. So I have the local logmein app running on my MacBook Pro, which is on my home wireless network. I access it either from the website (www.logmein.com) or the Logmein Ignition Apps on the iphone or ipad. My problem is that I have to set my MacBook Pro to not sleep at all when plugged in to make this a practical solution, because logmein cant seem to wake it up. I did change the settings in System Preferences to allow "Wake from Lan", but it seems like this won't work with a a Wifi connection. Am I missing anything? Assuming I'm not, is it bad for my computer to basically leave it running and not asleep most of the time?

    Read the article

  • Wireless Keyboard/Mouse: Should batteries be removed when not in use?

    - by abel
    I recently bought a Logitech Wireless Keyboard and mouse. I use it almost daily but for a couple of hours only. The keyboard has 2 AAA batteries and the mouse has 1 AA battery. The box mentions that the keyboard has a 24 month battery life and the mouse has a 5 month battery life. Should I keep the batteries in the keyboard/mouse, when they are not in use?Is it safe? Does the battery life mean 24 months of continuous usage or 24 months of average usage?

    Read the article

  • where do i find the drivers for a F5D7000 Belkin wireless adapter?

    - by neubert
    So I plugged an F5D7000 Belkin desktop wireless adapter into my desktop. Here is a picture of it: I did a Google search and found the drivers. I installed the latest version - (F5D7000 - Driver - Version 8xxx), and the NIC is still unrecognized as per the next screenshot: Does anyone have any ideas on how to get this working? I'm running Windows XP SP3 32-bit. (I have taken a screenshot but without network connectivity I can't email it or post it anywhere and I don't have a USB stick.)

    Read the article

  • How do I connect to my home's primary wired network through an extra (wireless) router?

    - by Matthew Patrick Cashatt
    Thanks for looking! I have set up a desktop PC in my workshop. The Cat 5 cable connects from this PC to a wireless router which is connected to my home network. The Internet connection is working just fine. However, the "wired" network this is on shows up as a different wired network than the one that the PCs inside my house are connected to. This is a problem because I would like to connect this workshop PC to various shared resources like printers, HD Homerun (cable tv card), shared drives, etc. When I go to "Network and Sharing" and attempt to find the network that the PCs inside my home are connected to, I don't see it. Any help is appreciated. Thanks!

    Read the article

  • Using VMware's ESXi, can I plug in 30 USB Wireless adapters and allow each of 30 VMs one?

    - by 31eee384
    I'm assuming ESXi will act very similarly to VMware Workstation or other products, so answers based on knowledge of those programs might also help. I want to plug in 30 USB Wireless or Ethernet adapters into my server, and let each VM access one and only one of these devices. Unfortunately, I don't have the hardware to just try it out as the purchase of hubs and adapters hinges on the result of this question. The answer could be a resounding "yes, easy!" and that would be great. I couldn't find any answers to this question with google, and it's possible that this is because it's so easy to do. Thanks!

    Read the article

  • Using VMware's ESXi, can I plug in 30 USB Wireless adapters and allow each of 30 VMs one?

    - by 31eee384
    I'm assuming ESXi will act very similarly to VMware Workstation or other products, so answers based on knowledge of those programs might also help. I want to plug in 30 USB Wireless or Ethernet adapters into my server, and let each VM access one and only one of these devices. Unfortunately, I don't have the hardware to just try it out as the purchase of hubs and adapters hinges on the result of this question. The answer could be a resounding "yes, easy!" and that would be great. I couldn't find any answers to this question with google, and it's possible that this is because it's so easy to do.

    Read the article

  • How do I backup (from Vista Home Premium) to a FAT32 HDD connected to a wireless router with no user account or password set?

    - by Scubadooper
    I have a Seagate expansion 2TB HDD which I've managed to get working on my wireless router (thanks to fat32format) however I haven't managed to set my backup to work with it. Vist Home Premium requires that I input a username and password in the backup utility. As far as I'm aware that type of access control isn't set on the HDD: Can I set up the access control on the HDD? If so how Or, can I set the backup to work without it? If so how Thanks for your help, I haven't been able to find the answer anywhere on the net so far

    Read the article

  • Solaris X86 AESNI OpenSSL Engine

    - by danx
    Solaris X86 AESNI OpenSSL Engine Cryptography is a major component of secure e-commerce. Since cryptography is compute intensive and adds a significant load to applications, such as SSL web servers (https), crypto performance is an important factor. Providing accelerated crypto hardware greatly helps these applications and will help lead to a wider adoption of cryptography, and lower cost, in e-commerce and other applications. The Intel Westmere microprocessor has six new instructions to acclerate AES encryption. They are called "AESNI" for "AES New Instructions". These are unprivileged instructions, so no "root", other elevated access, or context switch is required to execute these instructions. These instructions are used in a new built-in OpenSSL 1.0 engine available in Solaris 11, the aesni engine. Previous Work Previously, AESNI instructions were introduced into the Solaris x86 kernel and libraries. That is, the "aes" kernel module (used by IPsec and other kernel modules) and the Solaris pkcs11 library (for user applications). These are available in Solaris 10 10/09 (update 8) and above, and Solaris 11. The work here is to add the aesni engine to OpenSSL. X86 AESNI Instructions Intel's Xeon 5600 is one of the processors that support AESNI. This processor is used in the Sun Fire X4170 M2 As mentioned above, six new instructions acclerate AES encryption in processor silicon. The new instructions are: aesenc performs one round of AES encryption. One encryption round is composed of these steps: substitute bytes, shift rows, mix columns, and xor the round key. aesenclast performs the final encryption round, which is the same as above, except omitting the mix columns (which is only needed for the next encryption round). aesdec performs one round of AES decryption aesdeclast performs the final AES decryption round aeskeygenassist Helps expand the user-provided key into a "key schedule" of keys, one per round aesimc performs an "inverse mixed columns" operation to convert the encryption key schedule into a decryption key schedule pclmulqdq Not a AESNI instruction, but performs "carryless multiply" operations to acclerate AES GCM mode. Since the AESNI instructions are implemented in hardware, they take a constant number of cycles and are not vulnerable to side-channel timing attacks that attempt to discern some bits of data from the time taken to encrypt or decrypt the data. Solaris x86 and OpenSSL Software Optimizations Having X86 AESNI hardware crypto instructions is all well and good, but how do we access it? The software is available with Solaris 11 and is used automatically if you are running Solaris x86 on a AESNI-capable processor. AESNI is used internally in the kernel through kernel crypto modules and is available in user space through the PKCS#11 library. For OpenSSL on Solaris 11, AESNI crypto is available directly with a new built-in OpenSSL 1.0 engine, called the "aesni engine." This is in lieu of the extra overhead of going through the Solaris OpenSSL pkcs11 engine, which accesses Solaris crypto and digest operations. Instead, AESNI assembly is included directly in the new aesni engine. Instead of including the aesni engine in a separate library in /lib/openssl/engines/, the aesni engine is "built-in", meaning it is included directly in OpenSSL's libcrypto.so.1.0.0 library. This reduces overhead and the need to manually specify the aesni engine. Since the engine is built-in (that is, in libcrypto.so.1.0.0), the openssl -engine command line flag or API call is not needed to access the engine—the aesni engine is used automatically on AESNI hardware. Ciphers and Digests supported by OpenSSL aesni engine The Openssl aesni engine auto-detects if it's running on AESNI hardware and uses AESNI encryption instructions for these ciphers: AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-CFB128, AES-192-CFB128, AES-256-CFB128, AES-128-CTR, AES-192-CTR, AES-256-CTR, AES-128-ECB, AES-192-ECB, AES-256-ECB, AES-128-OFB, AES-192-OFB, and AES-256-OFB. Implementation of the OpenSSL aesni engine The AESNI assembly language routines are not a part of the regular Openssl 1.0.0 release. AESNI is a part of the "HEAD" ("development" or "unstable") branch of OpenSSL, for future release. But AESNI is also available as a separate patch provided by Intel to the OpenSSL project for OpenSSL 1.0.0. A minimal amount of "glue" code in the aesni engine works between the OpenSSL libcrypto.so.1.0.0 library and the assembly functions. The aesni engine code is separate from the base OpenSSL code and requires patching only a few source files to use it. That means OpenSSL can be more easily updated to future versions without losing the performance from the built-in aesni engine. OpenSSL aesni engine Performance Here's some graphs of aesni engine performance I measured by running openssl speed -evp $algorithm where $algorithm is aes-128-cbc, aes-192-cbc, and aes-256-cbc. These are using the 64-bit version of openssl on the same AESNI hardware, a Sun Fire X4170 M2 with a Intel Xeon E5620 @2.40GHz, running Solaris 11 FCS. "Before" is openssl without the aesni engine and "after" is openssl with the aesni engine. The numbers are MBytes/second. OpenSSL aesni engine performance on Sun Fire X4170 M2 (Xeon E5620 @2.40GHz) (Higher is better; "before"=OpenSSL on AESNI without AESNI engine software, "after"=OpenSSL AESNI engine) As you can see the speedup is dramatic for all 3 key lengths and for data sizes from 16 bytes to 8 Kbytes—AESNI is about 7.5-8x faster over hand-coded amd64 assembly (without aesni instructions). Verifying the OpenSSL aesni engine is present The easiest way to determine if you are running the aesni engine is to type "openssl engine" on the command line. No configuration, API, or command line options are needed to use the OpenSSL aesni engine. If you are running on Intel AESNI hardware with Solaris 11 FCS, you'll see this output indicating you are using the aesni engine: intel-westmere $ openssl engine (aesni) Intel AES-NI engine (no-aesni) (dynamic) Dynamic engine loading support (pkcs11) PKCS #11 engine support If you are running on Intel without AESNI hardware you'll see this output indicating the hardware can't support the aesni engine: intel-nehalem $ openssl engine (aesni) Intel AES-NI engine (no-aesni) (dynamic) Dynamic engine loading support (pkcs11) PKCS #11 engine support For Solaris on SPARC or older Solaris OpenSSL software, you won't see any aesni engine line at all. Third-party OpenSSL software (built yourself or from outside Oracle) will not have the aesni engine either. Solaris 11 FCS comes with OpenSSL version 1.0.0e. The output of typing "openssl version" should be "OpenSSL 1.0.0e 6 Sep 2011". 64- and 32-bit OpenSSL OpenSSL comes in both 32- and 64-bit binaries. 64-bit executable is now the default, at /usr/bin/openssl, and OpenSSL 64-bit libraries at /lib/amd64/libcrypto.so.1.0.0 and libssl.so.1.0.0 The 32-bit executable is at /usr/bin/i86/openssl and the libraries are at /lib/libcrytpo.so.1.0.0 and libssl.so.1.0.0. Availability The OpenSSL AESNI engine is available in Solaris 11 x86 for both the 64- and 32-bit versions of OpenSSL. It is not available with Solaris 10. You must have a processor that supports AESNI instructions, otherwise OpenSSL will fallback to the older, slower AES implementation without AESNI. Processors that support AESNI include most Westmere and Sandy Bridge class processor architectures. Some low-end processors (such as for mobile/laptop platforms) do not support AESNI. The easiest way to determine if the processor supports AESNI is with the isainfo -v command—look for "amd64" and "aes" in the output: $ isainfo -v 64-bit amd64 applications pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp ahf cx16 sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu Conclusion The Solaris 11 OpenSSL aesni engine provides easy access to powerful Intel AESNI hardware cryptography, in addition to Solaris userland PKCS#11 libraries and Solaris crypto kernel modules.

    Read the article

  • Solaris X86 AESNI OpenSSL Engine

    - by danx
    Solaris X86 AESNI OpenSSL Engine Cryptography is a major component of secure e-commerce. Since cryptography is compute intensive and adds a significant load to applications, such as SSL web servers (https), crypto performance is an important factor. Providing accelerated crypto hardware greatly helps these applications and will help lead to a wider adoption of cryptography, and lower cost, in e-commerce and other applications. The Intel Westmere microprocessor has six new instructions to acclerate AES encryption. They are called "AESNI" for "AES New Instructions". These are unprivileged instructions, so no "root", other elevated access, or context switch is required to execute these instructions. These instructions are used in a new built-in OpenSSL 1.0 engine available in Solaris 11, the aesni engine. Previous Work Previously, AESNI instructions were introduced into the Solaris x86 kernel and libraries. That is, the "aes" kernel module (used by IPsec and other kernel modules) and the Solaris pkcs11 library (for user applications). These are available in Solaris 10 10/09 (update 8) and above, and Solaris 11. The work here is to add the aesni engine to OpenSSL. X86 AESNI Instructions Intel's Xeon 5600 is one of the processors that support AESNI. This processor is used in the Sun Fire X4170 M2 As mentioned above, six new instructions acclerate AES encryption in processor silicon. The new instructions are: aesenc performs one round of AES encryption. One encryption round is composed of these steps: substitute bytes, shift rows, mix columns, and xor the round key. aesenclast performs the final encryption round, which is the same as above, except omitting the mix columns (which is only needed for the next encryption round). aesdec performs one round of AES decryption aesdeclast performs the final AES decryption round aeskeygenassist Helps expand the user-provided key into a "key schedule" of keys, one per round aesimc performs an "inverse mixed columns" operation to convert the encryption key schedule into a decryption key schedule pclmulqdq Not a AESNI instruction, but performs "carryless multiply" operations to acclerate AES GCM mode. Since the AESNI instructions are implemented in hardware, they take a constant number of cycles and are not vulnerable to side-channel timing attacks that attempt to discern some bits of data from the time taken to encrypt or decrypt the data. Solaris x86 and OpenSSL Software Optimizations Having X86 AESNI hardware crypto instructions is all well and good, but how do we access it? The software is available with Solaris 11 and is used automatically if you are running Solaris x86 on a AESNI-capable processor. AESNI is used internally in the kernel through kernel crypto modules and is available in user space through the PKCS#11 library. For OpenSSL on Solaris 11, AESNI crypto is available directly with a new built-in OpenSSL 1.0 engine, called the "aesni engine." This is in lieu of the extra overhead of going through the Solaris OpenSSL pkcs11 engine, which accesses Solaris crypto and digest operations. Instead, AESNI assembly is included directly in the new aesni engine. Instead of including the aesni engine in a separate library in /lib/openssl/engines/, the aesni engine is "built-in", meaning it is included directly in OpenSSL's libcrypto.so.1.0.0 library. This reduces overhead and the need to manually specify the aesni engine. Since the engine is built-in (that is, in libcrypto.so.1.0.0), the openssl -engine command line flag or API call is not needed to access the engine—the aesni engine is used automatically on AESNI hardware. Ciphers and Digests supported by OpenSSL aesni engine The Openssl aesni engine auto-detects if it's running on AESNI hardware and uses AESNI encryption instructions for these ciphers: AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-CFB128, AES-192-CFB128, AES-256-CFB128, AES-128-CTR, AES-192-CTR, AES-256-CTR, AES-128-ECB, AES-192-ECB, AES-256-ECB, AES-128-OFB, AES-192-OFB, and AES-256-OFB. Implementation of the OpenSSL aesni engine The AESNI assembly language routines are not a part of the regular Openssl 1.0.0 release. AESNI is a part of the "HEAD" ("development" or "unstable") branch of OpenSSL, for future release. But AESNI is also available as a separate patch provided by Intel to the OpenSSL project for OpenSSL 1.0.0. A minimal amount of "glue" code in the aesni engine works between the OpenSSL libcrypto.so.1.0.0 library and the assembly functions. The aesni engine code is separate from the base OpenSSL code and requires patching only a few source files to use it. That means OpenSSL can be more easily updated to future versions without losing the performance from the built-in aesni engine. OpenSSL aesni engine Performance Here's some graphs of aesni engine performance I measured by running openssl speed -evp $algorithm where $algorithm is aes-128-cbc, aes-192-cbc, and aes-256-cbc. These are using the 64-bit version of openssl on the same AESNI hardware, a Sun Fire X4170 M2 with a Intel Xeon E5620 @2.40GHz, running Solaris 11 FCS. "Before" is openssl without the aesni engine and "after" is openssl with the aesni engine. The numbers are MBytes/second. OpenSSL aesni engine performance on Sun Fire X4170 M2 (Xeon E5620 @2.40GHz) (Higher is better; "before"=OpenSSL on AESNI without AESNI engine software, "after"=OpenSSL AESNI engine) As you can see the speedup is dramatic for all 3 key lengths and for data sizes from 16 bytes to 8 Kbytes—AESNI is about 7.5-8x faster over hand-coded amd64 assembly (without aesni instructions). Verifying the OpenSSL aesni engine is present The easiest way to determine if you are running the aesni engine is to type "openssl engine" on the command line. No configuration, API, or command line options are needed to use the OpenSSL aesni engine. If you are running on Intel AESNI hardware with Solaris 11 FCS, you'll see this output indicating you are using the aesni engine: intel-westmere $ openssl engine (aesni) Intel AES-NI engine (no-aesni) (dynamic) Dynamic engine loading support (pkcs11) PKCS #11 engine support If you are running on Intel without AESNI hardware you'll see this output indicating the hardware can't support the aesni engine: intel-nehalem $ openssl engine (aesni) Intel AES-NI engine (no-aesni) (dynamic) Dynamic engine loading support (pkcs11) PKCS #11 engine support For Solaris on SPARC or older Solaris OpenSSL software, you won't see any aesni engine line at all. Third-party OpenSSL software (built yourself or from outside Oracle) will not have the aesni engine either. Solaris 11 FCS comes with OpenSSL version 1.0.0e. The output of typing "openssl version" should be "OpenSSL 1.0.0e 6 Sep 2011". 64- and 32-bit OpenSSL OpenSSL comes in both 32- and 64-bit binaries. 64-bit executable is now the default, at /usr/bin/openssl, and OpenSSL 64-bit libraries at /lib/amd64/libcrypto.so.1.0.0 and libssl.so.1.0.0 The 32-bit executable is at /usr/bin/i86/openssl and the libraries are at /lib/libcrytpo.so.1.0.0 and libssl.so.1.0.0. Availability The OpenSSL AESNI engine is available in Solaris 11 x86 for both the 64- and 32-bit versions of OpenSSL. It is not available with Solaris 10. You must have a processor that supports AESNI instructions, otherwise OpenSSL will fallback to the older, slower AES implementation without AESNI. Processors that support AESNI include most Westmere and Sandy Bridge class processor architectures. Some low-end processors (such as for mobile/laptop platforms) do not support AESNI. The easiest way to determine if the processor supports AESNI is with the isainfo -v command—look for "amd64" and "aes" in the output: $ isainfo -v 64-bit amd64 applications pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp ahf cx16 sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu Conclusion The Solaris 11 OpenSSL aesni engine provides easy access to powerful Intel AESNI hardware cryptography, in addition to Solaris userland PKCS#11 libraries and Solaris crypto kernel modules.

    Read the article

< Previous Page | 129 130 131 132 133 134 135 136 137 138 139 140  | Next Page >