Teufel Aureol Headphone

Today my Teufel Aureol® Real headphone arrived. Came all the way from Berlin Germany (thanks to my friend Mike). Available in white and black. I went for the white/red one and believe this to become the next must have headphone for the hip and young. Have a look for yourself.

Teufel_AureolReal

I could stop here, because just look at it. Isn’t that a beauty? And for you galls out there; I wasn’t talking about the guy 😉

First. I like what they did with the white/black & red colour combination. A clever move. Fits my collection of shiny white Apple hardware, but it also reminds me about my overpriced Dr. Dre Beats Pro. A 400 Euro smashing headphone. Bulky, heavy and one that quickly becomes uncomfortable. In part of the tiresome bass.

Then I put on my new Teufel Aureol® Real and tuned into some of my songs in iTunes. Gosh. I started to smile right away. Oh wow. Yeah baby. I am totally loving it. There is no pressure on the earcups. Like not at all. Nothing compared to the Dr. Dre Beats Pro. Boy what a joy. Here comes the Teufel with its 100 Euro price tag… beating the crap out of my Dr. Dre Beats. Starting with a 4-1 victory for Teufel.

I tell you. This underdog devil (Teufel) in headphone land is a must have. I am ending my relationship with both my now former Sennheiser and Dr. Dre Beats Pro headphones. No hard feelings, but for me this is just a brilliant move…

I like it
Did I say that I like it? I did didn’t I? Well. Sorry. Cannot help it. I really like my new headphone. In fact. I like it so much that I ordered the black/red edition for my girlfriend. Why? You mean it wasn’t obvious enough already? She walked into the room and said: I want one!

1) The looks. This is of course just my personal opinion, but the Teufel headphone looks great.

2) Low weight. This headphone is light. Ultra light. Just over 185 grams with the cable attached to it. And while one cannot really compare it to the Dr. Dre Beats Pro, with the solid metal parts on it, but that now also feels like I was carrying a truck on my head. Much to bulky for my taste.

3) The sound quality. I never really liked the sound of the Dr. Dre Beats Pro where it’s all about bass. Not for me. I’m more a person for natural, more balanced sound. Which is what you get with high fidelity audio headphone, but these come with a hefty price-tag. Making it too expensive for most people. Unlike the Teufel with some impressive specs.

Specifications
Impedance: 50 Ohm
Frequency range: 20 – 22000 Hz
Sensitivity: 102 +- 4 dB @ 1 kHz

4) The fit. Like I said earlier. My good old Dr. Dre Beats Pro feels like a truck compared to the Teufel Aureol® Real. Not only that, but the earcups of the Teufel Aureol® Real are much more comfortable. Their velour covering offer your ears plenty of space and feels so good that you end up forgetting to have a headphone on your head. Which is great of course. Until you accidentally walk into a shower (LOL).

5) Next. Value for money. The Teufel Aureol® Real headphone is affordable for everyone and comes with a two year warranty period. And if you order one right now, then it ships to most of Europe for free. Saving you an additional 15 Euro.

6) Last but not least. I like to be different. Think different. Don’t want to become yet another clone of all the folks with the white/red metal Dre Beats on their head. Not for me. I want to be different and in control. Here is an example of me being different. One to remember for people walking into me with the wrong intentions.
KravMagaPassport
Comes with two cables
The Teufel comes with two cables with a nice (soft/red) fabric sleeve. One 1.3 meter cable with two 3.5mm stereo mini-jacks and one 3 meter cable with a 3.5mm and 6.3mm stereo-jack. The latter is a perfect match for my Denon stereo installation. Allows me to sit where I want. In my Barcelona chair (replica) to dream away. Enjoying the HiFi audio sound of my new Teufel Aureol® Real headphone.

The Cons
The cable with two 3.5mm stereo mini-jacks may be too short for you. I mean it fits me when I plug it into my iPhone, even for a tall guy like me, but when I am at home and want to watch a movie, then I need a longer cable. Now it feels like I am missing an additional 1.7 meter – the website states that it comes with two 3 meter cables. This may be a good idea for the Teufel Aureol® Real II or Teufel should fix this error on their website. However. That won’t feel right since most people will need a longer cable anyway, and thus Teufel has to fix this. For real. The best thing they can do IMHO is to replace the 6.3mm plug with a 3.5mm mini-jack and (optional) 3.5mm to 6.3mm converter plug.

There is no hard cover to keep your Teufel safe from damage, but it comes with a black bag with a red Teufel logo on it. Maybe because you are supposed to wear it all day long, and you can because you won’t feel it. Or keep it close to you. Around your neck (see picture).

You can only plug the cable in the lower left half of the ear shells. This should not be a problem, for most people, but for people who are used to have a plug in each ear shell… this may be a miss.

Wrapping things up
Ok. This was my review. One from a real audio enthusiast. Now have a look at this German youtube movie. Or this one. Just two movies to give you an impression of what it is. Oh and I forgot. Comes with a nice solid box with a magnetic strip to keep it closed. Anyway. Do you like what you are seeing… then order your Teufel Aureol® Real at: http://www.teufelaudio.com
I don’t think that anyone will regret it – comes with free shipping and then the Try Before You Buy deal of up to eight weeks. In my opinion you can only win.

Holy crap. It is now 4:31 AM and I am still enjoying the sound – working on the DimasTech test bench setup for our next review. Fancy a preview? Go figure!

EasyV3_LowResSmall

p.s. Sorry for the low quality picture, but everyone else is still sleeping, of course, and thus I cannot turn on the lights. Not without waking up the other folks (guests) here.

Advertisements

Debunking Myths Part 1

Today I like to debunk a persistent myth, being that you can override objects in the DSDT, or an already loaded SSDT, from a Secondary System Description Table, but that is simply not true. Let’s start with a blurb taken from the ACPI specification:

Additional tables can only add data; they cannot overwrite data from previous tables.

You can find this line on page 23 of the ACPI 5.0 specification, and the plain simple explanation is that you cannot override an already defined object.

What you can do is extract the DSDT and change the object data, or remove/rename it and then add it with the correct value/data from a Secondary System Description Table.

And to demonstrate that it doesn’t work. That you cannot override already defined objects, I’ve come up with a simple SSDT example. Something that most of you will want to try anyway, but I am not going to explain you why you want to use it. I mean. If I need to explain that to you, then you wouldn’t know what to do with it.

DefinitionBlock ("ssdt.aml", "SSDT", 1, "APPLE ", "general", 0x00001000)
{
    External (\_PR.CPU1, DeviceObj)

    Scope (\_PR)
    {
        //
        // Define a Processor scope ACPI PPM GlobalNvs NVS Region
        //
        // Note: Change the memory location to the one for your (U)EFI/BIOS!
        //
        OperationRegion(PPMT, SystemMemory, 0xDCBC0F18, 0x0029)
        Field (PPMT, AnyAcc, Lock, Preserve)
        {
            PGRV,    8,         // (0) PPM GlobalNvs Revision
                     Offset(6), // (1-5) Reserved
            //
            // Thermal Configuration Values
            //
            ACRT,    8,         // (6) Auto Critical Trip Point
            APSV,    8,         // (7) Auto Passive Trip Point
            AAC0,    8,         // (8) Auto Active Trip Point
            CPID,    32,        // (9) CPUID
            //
            // ConfigTDP Value
            //
            CPPC,    8,         // (13) Boot Mode values for _PPC
            //
            // ConfigTDP Level settings
            //
            CCTP,    8,         // (14) Custom ConfigTdp Enabled/Disabled
            CLVL,    8,         // (15) ConfigTdp Number Of Levels
            CBMI,    8,         // (16) CTDP Boot Mode Index
            PL10,    16,        // (17) CTDP Level 0 Power Limit1
            PL20,    16,        // (19) CTDP Level 0 Power Limit2
            PLW0,    8,         // (21) CTDP Level 0 Power Limit1 Time Window
            CTC0,    8,         // (22) CTDP Level 0 CTC
            TAR0,    8,         // (23) CTDP Level 0 TAR
            PPC0,    8,         // (24) CTDP Level 0 PPC
            PL11,    16,        // (25) CTDP Level 1 Power Limit1
            PL21,    16,        // (27) CTDP Level 1 Power Limit2
            PLW1,    8,         // (29) CTDP Level 1 Power Limit1 Time Window
            CTC1,    8,         // (30) CTDP Level 1 CTC
            TAR1,    8,         // (31) CTDP Level 1 TAR
            PPC1,    8,         // (32) CTDP Level 1 PPC
            PL12,    16,        // (33) CTDP Level 2 Power Limit1
            PL22,    16,        // (35) CTDP Level 2 Power Limit2
            PLW2,    8,         // (37) CTDP Level 2 Power Limit1 Time Window
            CTC2,    8,         // (38) CTDP Level 2 CTC
            TAR2,    8,         // (39) CTDP Level 2 TAR
            PPC2,    8          // (40) CTDP Level 2 PPC
        }

        Scope (\_PR.CPU1)
        {
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One) { 0x03 })
                }

                Return (Package (0x36)
                {
                    "PGRV",
                     PGRV,
                    "ACRT",
                     ACRT,
                    "APSV",
                     APSV,
                    "AAC0",
                     AAC0,
                    "CPID",
                     CPID,
                    "CPPC",
                     CPPC,
                    "CCTP",
                     CCTP,
                    "CLVL",
                     CLVL,
                    "CBMI",
                     CBMI,
                    "PL10",
                     PL10,
                    "PL20",
                     PL20,
                    "PLW0",
                     PLW0,
                    "CTC0",
                     CTC0,
                    "TAR0",
                     TAR0,
                    "PPC0",
                     PPC0,
                    "PL11",
                     PL11,
                    "PL21",
                     PL21,
                    "PLW1",
                     PLW1,
                    "CTC1",
                     CTC1,
                    "TAR1",
                     TAR1,
                    "PPC1",
                     PPC1,
                    "PL12",
                     PL12,
                    "PL22",
                     PL22,
                    "PLW2",
                     PLW2,
                    "CTC2",
                     CTC2,
                    "TAR2",
                     TAR2,
                    "PPC2",
                     PPC2,
                })
            }
        }
    }
}

Note: Most people probably need to rename the file to something like SSDT-N.aml – where N is a number between 1 and 30 – or the boot loader (Chameleon, Chimera and Clover) won’t be able to load the file. I don’t have to do this, because I use RevoBoot and use ssdt_usb.aml instead (one of the predefined/supported ACPI table identifiers).

Ok so there you have it. A simple ACPI table (SSDT) with an object called PPMT in it, and when you don’t drop the factory SSDT’s then the ACPI parser will skip it. This because this object is already defined, in most cases. Meaning that while the SSDT can be found in IORegistryExplorer and ioreg (is loaded) the AML parser won’t add the object to the AML namespace – read AML linked node list (EAML) – and as a result… the values from PPMT won’t be there under CPU1. Like it’s not “executed”. Which is true, because the ACPI interpreter will simply ignore it.

Tip: Check the value of CPID which should be something like 0x206AX for Sandy Bridge and 0x306AX for Ivy Bridge processors. This way you know that the memory location for PPMT is correct – extracting your ACPI tables with help of MacIASL is therefore strongly recommended.

Power Management bug in Intel/AMI located?

I glanced over some of the Intel/AMI source code and found an interesting spot. This particular part of the source code triggered my attention:

  //
  // For OC supported units configure Turbo Ratio as 0xFF (max possible P-State) on IVB C0 or later
  //
  if (OverclockingBins != 0 
      && mProcessorFamilyModel == CPUID_FULL_FAMILY_MODEL_IVYBRIDGE
      && mProcessorStepping >= IVYBRIDGE_C0) {
    mTurboBusRatio  = 0xFF;
  } else {
    //
    // Get Max Turbo Ratio from Turbo Ratio Limit MSR Bits [7:0]
    //
    TempMsr.Qword    = AsmReadMsr64 (MSR_TURBO_RATIO_LIMIT);
    mTurboBusRatio  = (UINT16)(TempMsr.Dwords.Low & MAX_TURBO_RATIO_LIMIT_MASK);
  }

The key value here is OverclockingBins since the else clause is fine for us, and thus I looked at the code that sets it. Here it is:

  FlexRatioMsr.Qword    = AsmReadMsr64 (MSR_FLEX_RATIO);
  OverclockingBins = (UINT8) RShiftU64((FlexRatioMsr.Dwords.Low & OVERCLOCKING_BINS), 17);
OverclockingBins

Then I used a modified version of AppleIntelCPUPowerManagementInfo.kext to get value of the bits (7 << 17) that OverclockingBins is being set to, which in my case is 7. That combined with the fact that I happen to have a Ivy Bridge C0 stepping processor, that simply means that mTurboBusRatio will be set to 0xff (255). This is also checked by Apple, but since there is no over clocking in the world of Apple… Err.

Next up is function VerifyAndFixCustomRatio:

STATIC
UINT8
VerifyAndFixCustomRatio (
  UINT8     CustomRatio
  )
/*++

Routine Description:

  Verify and fix Custom Ratio values 
  Custom Ratio should be between MaxTurboFrequency and LFM

Arguments:
  CustomRatio     Custom Ratio value

Returns:
  Verified Custom Ratio value

--*/
{

  if (CustomRatio > mTurboBusRatio) {
    //
    // Use HFM as max value if Turbo is not supported
    //
    if (mTurboBusRatio == 0) {
      CustomRatio = (UINT8)mMaxBusRatio;
    } else {
      CustomRatio = (UINT8)mTurboBusRatio;
    }
  } else if (CustomRatio < mMinBusRatio) {
    //
    // Use LFM as min value
    //
    CustomRatio = (UINT8)mMinBusRatio;
  }
 
  return (CustomRatio);
}

Now. Both CustomRatio and mMinBusRatio are of type UINT8, and since the latter is set to 0xff (in my case) this statement is bogus. I mean. Whatever value argument CustomRatio is, it cannot be greater than 0xff. And since there is no equal sign in the check, we end up in the else clause. That is when CustomRatio is less than mMinBusRatio otherwise it simply returns the value of CustomRatio. Normally this is fine, but what happens when mMinBusRatio isn’t set properly?

Let’s see what happens with this value. Yet another code snippet:

PPMPolicy->pCustomCtdpSettings->
CustomConfigTdpTable[Index].CustomTurboActivationRatio = 
VerifyAndFixCustomRatio (PPMPolicy->pCustomCtdpSettings->CustomConfigTdpTable[Index].CustomTurboActivationRatio);

What this does is that it creates a custom TDP setting with lower ratio’s. And this is a new power management policy, introduced for Ivy Bridge processors, basically telling the Apple kexts that the processor is working in a restricted environment. With a limited TDP. I tell you that can’t be good, if this is true, because that way it won’t scale up to a higher P-State. Simply because OSPM thinks that something or someone is baking the CPU.

I’m not 100% sure that this is in fact a real problem, but it is certainly something that I like to investigate further. To rule out the slightest possibility that this is related to our little PM problem. I’ve also already located the source code that will help me to write a small SSDT.aml to help me with my next experiment… getting the values I am after.

A Friendly Reminder

Duh! What was I thinking…

I received a friendly reminder telling me that I cannot share –– parts of the, source code from the hacked FTP server. Ok. That got my attention. Not that I was planning to add long listings of certain source code (snippets) but this makes it a little bit more challenging. More complicated. Now I have to ask what I can and cannot share. Think; delays and more delays. Obviously.

Ok so it won’t be as detailed as I originally planned, and people will have to trust me. Or maybe I could just point you to the file(names) as a reference? Let’s hope that this isn’t breaking any rules. We don’t want that after all.

More news about Haswell. Power management with Haswell processors will be a lot more challenging for (U)EFI developers. Apple and Google included. Just two name two random names I care about. The good thing about running something this exceptionally energy-efficient is that it will extend the battery life by a great margin for the next generation MacBook Pro and MacBook Air so who cares… except if you are running a hack maybe.

Also. Intel has raised the maximum multiplier to 80 (80 * 100 MHz = 8GHz) for unlocked processors (K-Series) but we can change the ‘BCLK’ to 125 and 166 in the new UEFI, but then the max multiplier is lowered. This to stay well within the maximum TDP of 84 Watt. Speaking of which. Why isn’t there anyone wondering why a next generation Intel processor is drawing more power? Like seven Watt to be precise. I mean. Wasn’t Haswell designed to be more power efficient? Yada yada.

The top multiplier for the IGPU is set to 60 (aka 3 GHz in the usual 50 MHz bins).

The not so good part is that I have to wait for some crazy expensive memory from Corsair (1000 Dollar without tax) which should arrive here in about one or two weeks. And yes. There will be pictures eventually 😉

New Keyboard

I tell you. I had to get accustomed to the way things go in Spain. Like dinner time. Totally different. Me being used to have supper between five and six o’clock. Here it is more often later. Like much later. Like after eight o’clock or so. Twice a week we also meet with the parents of my girlfriend to go out for dinner. That is fun, twice a week.

Anyway. We went for dinner last week with her family and afterwards we joined them at home to watch TV. A movie or so I thought. Shocker. Her dad loves Fútbol but if there is anything that I don’t like or care about then it is football. Great.

Then came the family albums. Oh dear. Always fun. Or not. After fifteen minutes or so… there it was. Her old bicycle. She of course totally loved it and thus we had to take it home. With two flat tires. What else is new. Great. So now I had to fix it, and since I am the man in the house, I did. Job done.

Hooray. Back to my shiny white Apple keyboard. Which wasn’t too happy about my dirty fingers. Sure. I cleaned them, but not well enough. Apparently. Now it is Sunday again so guess what. Yes. We are going out again, but this time I am well prepared. Don’t have time for yet another family album. Another bicycle. After all. I have work to do. I need to install a new power supply and replace a keyboard with a defective backlight. How else am I going to finish my next blog article… in the dark 😉

Cool stuff

Cool. I was asked to test write a review for a DimasTech bench test table. The thing should arrive here next week, along with Mike and Jeroen, who will be joining us in Spain for a while.

Also. I received an e-mail from John Pool saying:

We have a feature in the pipeline that might help you out. I’ll keep you posted.

Best,
John

Seems like GeekBench is working on a new feature. Great. So what is this about? Well. Some of you may remember this incredible GeekBench score. Which is missing in the charts, because that ‘only’ shows the last 2000 scores (performance improvement). Now take a look at the blog title and think cool stuff. Like LN2, dewar and a pot. Yup. We are going after new world records. One with a frozen Ivy Bridge and the other running OS X 10.9 on a madly frozen Haswell i7-4770K. Let’s see how far it goes.

Next. You should know that I didn’t wrote my ACPI CFGD Explained to be forgotten. The reason I write stuff is simply so that I can point you to something that, in this case hasn’t been published before. Like never ever before. Go ahead and Google it.

What’s next? Well. One of my next blog articles will debunk some of the myths and uneducated guesses that keep popping up. We will show you, like nobody ever did before, what is going on. We will explain things with great detail and example code.

We will also show you when you can or should, or shouldn’t, dump secondary ACPI tables. And trust me when I say this, because something this detailed has never ever been published before. No wonder, because the source code was simply never published. This changed recently and thus now we can show you what is going on. Good to know that we were right all along. Unsurprisingly, because we had dad to help us out.

See you next time around. Get ready for some exiting new stuff. Here and nowhere else… of course 😉

Seasonic G-360 PSU installed

Today I removed the Corsair CMPSU-TX650 and installed the new Seasonic G-360 PSU (Power Supply Unit) in my computer, as a test, and immediately noticed a reduction of noise. 1-0 for Seasonic.

Even more interesting is the fact that it confirms what I hoped for. Which is that the new PSU draws less power. Not surprisingly, because the Seasonic is a lot more power efficient – up to 89.2% – and thus that was to be expected. Good to see it confirmed. Using 6-9 Watt less than the Corsair TX650 makes it a 2-0 for Seasonic.

This shows you what a simple PSU replacement can do. Even when it is this cheap (less than 70 Euro). Now we wait for the new 80 Plus Platinum PSU which is even more power efficient. I’ll report my findings here when it arrives so stay tuned.

Update: We’re only a few hours into the game of Seasonic PSU testing and I am totally loving the power meter results – it went down to a low 23 Watt. Awesome result. I tell you this. Had this been a full modular system. One without a fan, then I would have kept it for myself, but since it’s not… someone else will be happy with it.

Update-2: Tree years later the Seasonic G360 started to behave erratically. Sometimes it shuts down the power to the motherboard and other components, as a safety measure to protect us from running into costly repairs. A great feature, but shutting down like this also corrupts the NVRAM. In one event I even had to flash the BIOS. A plus was that I had a removable DIP-8 chips but if you are using a Gigabyte motherboards, with soldered BIOS chips (main and backup) then you may run into an issue where the backup won’t get transferred to the main BIOS chip and then your motherboard won’t startup anymore.

Edit: I checked the Fan and it was still spinning so it can’t be related to overheating. There is also little more than the motherboard, processor and one SSD so that should not be a problem. The 5 volt and 12 volt rails driving power to the motherboard and drives are also looking fine, but sometimes it shuts down for no apparent reason. This was also for me the main reason to switch back to Corsair PSU’s since I have never experienced something like this.

Another reason is that I had removed a tiny label from a screw to test the PSU, but that was also the reason that my RMA was refused. The reseller also wanted me to RMA it in the original box (?) like three years later. Yeah right. I am done with it.

Listen. Seasonic has great PSU’s and a great track record. There is no denial to this, but when they start selling stuff that cannot even last for three years then I am done with it. And I say this because at least two other people that bought the same PSU after reading my blog. With the same kind of errors, then you know that something isn’t right.