CWHUSKY: Lab 2_1A: "AttributeError: FWUP: Unsupported ChipID = 30303020"

I am trying to run LAB 2_1A with my cw-husky and SAM4S target. However, when trying to program the target I get the following error: “AttributeError: FWUP: Unsupported ChipID = 30303020”. If I try to program again it seems to work (no error emitted). However, when I try to capture traces I just warning: “(ChipWhisperer Scope WARNING|File Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 13”

I am using SCOPETYPE = ‘OPENADC’ and PLATFORM = ‘CW308_SAM4S’ (default in the jupyter workbook).

Note that I had it working once or twice (successfully captured a trace). But I don’t know what caused it to work. I unplugged everything and replugged and it worked once. Then I updated the “simpleserial-base.c” as described and tried to build and program again and the programming failed first time with above mentioned error. Second time programming didn’t give error but when I try to capture traces I get the warning that no trigger is seen.


Can you try instead with Lab 2_1B? 2_1A tends to get updated less often, so there might be some sort of Husky specific issue there.


Hi @Alex_Dewar,

I tried SCA101 LAB 2_1B and I get the same “AttributeError: FWUP: Unsupported ChipID = 30303020” error. Here is the full code that I ran:

SS_VER = 'SS_VER_2_1'
%run "../../Setup_Scripts/Setup_Generic.ipynb"
%%bash -s "$PLATFORM" "$SS_VER"
cd ../../../hardware/victims/firmware/basic-passwdcheck
prog = cw.programmers.SAM4SProgrammer
cw.program_target(scope, prog, "../../../hardware/victims/firmware/basic-passwdcheck/basic-passwdcheck-{}.hex".format(PLATFORM))

and here is the end of the exception trace I get when running above cw.program_target:

File ~/chipwhisperer/software/chipwhisperer/hardware/naeusb/, in Samba.setup_device_specific(self, chipid)
    292     self.rstc_addr = 0x400E1400
    293 else:
--> 294     raise AttributeError("FWUP: Unsupported ChipID = %x" % chipid)
    296 self.flash = flash

AttributeError: FWUP: Unsupported ChipID = 30303020
(1 (0x1), 10 (0xA), 'ChipWhisperer-Husky', 0 (0x0))


If you’re not already, can you try grabbing the latest commit from github? Also, can you try increasing the time.sleep() in this function to see if that helps: chipwhisperer/ at develop · newaetech/chipwhisperer · GitHub


Hi Alex,

So the following change fixed the programming issue for me. I tried A/B/A testing and it seems to be reliable:

@@ -170,7 +170,7 @@ class SAM4SProgrammer(Programmer): = 0
         time.sleep(0.2) = None
-        time.sleep(0.2)
+        time.sleep(0.5)
         self._old_baud = self.scope._get_usart()._baud
         prog = self.get_prog()

I have some more issues but I’ll start a new thread on those.


1 Like