use wii wireless nunchuck

Hi all,
i've read tons of topics but i cannot able to make my wireless nunchuck working.

I have a genuine nintendo nunchuck and it works fine if wired with arduino using library found here.
http://todbot.com/blog/2008/02/18/wiichuck-wii-nunchuck-adapter-available/#more-224

All ok until here.

Then i'm triyng to make it working using it wireless. i've bought a (cheap) wireless adaptor from nitho like this
http://www.digitalrama.it/product/c/1580/d/Adattatore-Wireless-Nunchuck-Nitho-x-Nintendo-Wii

Problem is that i read random value of all axis and button of nunchuck. if is not connected i can see no data are read. when i power up i start read random data..
tryed to change initilization code that i've found in one old forum but not solve the problem

byte cnt;

Wire.begin();

// init controller
delay(1);
Wire.beginTransmission(0x52); // device address
Wire.write(0xF0); // 1st initialisation register
Wire.write(0x55); // 1st initialisation value
Wire.endTransmission();
delay(1);
Wire.beginTransmission(0x52);
Wire.write(0xFB); // 2nd initialisation register
Wire.write(0x00); // 2nd initialisation value
Wire.endTransmission();
delay(1);

// read the extension type from the register block
Wire.beginTransmission(0x52);
Wire.write(0xFA); // extension type register
Wire.endTransmission();
Wire.beginTransmission(0x52);
Wire.requestFrom(0x52, 6); // request data from controller
for (cnt = 0; cnt < 6; cnt++) {
if (Wire.available()) {
ctrlr_type[cnt] = Wire.read(); // Should be 0x0000 A420 0101 for Classic Controller, 0x0000 A420 0000 for nunchuck
}
}
Wire.endTransmission();
delay(1);

// send the crypto key (zeros), in 3 blocks of 6, 6 & 4.
Wire.beginTransmission(0x52);
Wire.write(0xF0); // crypto key command register
Wire.write(0xAA); // sends crypto enable notice
Wire.endTransmission();
delay(1);
Wire.beginTransmission(0x52);
Wire.write(0x40); // crypto key data address
for (cnt = 0; cnt < 6; cnt++) {
Wire.write(0x00); // sends 1st key block (zeros)
}
Wire.endTransmission();
Wire.beginTransmission(0x52);
Wire.write(0x40); // sends memory address
for (cnt = 6; cnt < 12; cnt++) {
Wire.write(0x00); // sends 2nd key block (zeros)
}
Wire.endTransmission();
Wire.beginTransmission(0x52);
Wire.write(0x40); // sends memory address
for (cnt = 12; cnt < 16; cnt++) {
Wire.write(0x00); // sends 3rd key block (zeros)
}
Wire.endTransmission();
delay(1);

can anybody focus me on what could be the problem?

Thanks in advance

Did you ever get any help with this? I am having a very similar problem. My code will work with a wired controller however when I connect my wireless controller it begins returning seemingly random values?

I found solution by myself last night.
Have to change TWI_FREQ in twi.h setting it to 400000L[center][/center]