Faits: Faits: A. Par jugement du 18 août 2000, le Tribunal de police du canton de Genève a condamné C._ à deux ans de réclusion, sous déduction de la détention préventive, et à cinq ans d'expulsion de Suisse, pour violation de la LStup et de l'art. 23 al. 1 LSEE. Arrêté le 9 décembre 1999 en possession de cocaïne, K._ avait identifié C._ comme son fournisseur. Sous le coup d'une interdiction d'entrée en Suisse, C._ avait été arrêté le même jour à son arrivée devant le domicile de K._ à Genève. Il avait admis connaître ce dernier, pour avoir été son compagnon de cellule, mais nié tout trafic de drogue. Par arrêt du 23 octobre 2000, la Chambre pénale de la Cour de justice genevoise a annulé ce jugement, excepté pour l'infraction à la LSEE. Les déclarations de K._ n'étaient pas fiables. La peine a été ramenée à 45 jours d'emprisonnement. B. Le 10 août 2001, C._ s'est adressé à la Chambre pénale genevoise en demandant notamment une indemnité de 83'960 fr. avec intérêts, à raison de la procédure pénale et de la détention préventive subie. L'indemnité comprenait 40'000 fr. de tort moral (120 jours à 120 fr. puis 154 jours à 100 fr.), 21'000 fr. de frais d'avocat (soit 60 heures au tarif usuel de 350 fr.; le requérant bénéficiait de l'assistance judiciaire mais courait le risque de devoir rembourser l'Etat en cas de retour à meilleure fortune) et 22'960 fr. de perte de gain (loyer, assurance, déménagement, mise en fourrière d'une moto, augmentation d'intérêts débiteurs). Le requérant demandait aussi une indemnité pour la procédure d'indemnisation. Par arrêt du 26 novembre 2001, la Chambre pénale a alloué 24'725 fr. d'indemnité, plus une participation aux honoraires d'avocat de 3'000 fr. pour la procédure d'indemnisation. L'indemnité, allouée sur la base de l'art. 379 du code de procédure pénale genevois (CPP/GE), n'était pas destinée à couvrir intégralement le dommage mais était fixée ex aequo et bono. Le requérant ne pouvait prétendre à être indemnisé à raison des 45 jours de détention correspondant à la condamnation pour violation de la LSEE. Sans cette infraction, il n'aurait pas été arrêté en Suisse. Son attitude silencieuse avait par ailleurs compliqué la procédure. Le cas était toutefois exceptionnel et justifiait un dépassement du plafond de 10'000 fr. prévu par la loi. L'indemnité pour tort moral a été fixée à 20'000 fr. Le loyer, couvert par son employeur, les primes d'assurance et la taxe d'habitation, dues indépendamment de la détention, les cotisations sociales, pour la période durant laquelle le requérant était en liberté ou licitement détenu, la pension alimentaire, que le requérant n'acquittait que sporadiquement, et un prêt personnel, qui n'était pas un dommage direct, n'ont pas été indemnisés. Les frais de déménagement, par 1'214 fr. ont été couverts, ainsi qu'un emprunt de 15'100 FF, que le requérant n'avait pu rembourser en raison de sa détention. Les frais relatifs à un scooter (remise en état et frais de fourrière) ont été refusés, car le véhicule avait été récupéré tardivement et sa saisie était la conséquence de l'entrée irrégulière en Suisse. Le requérant avait bénéficié de l'assistance juridique, et la note d'honoraires n'était pas détaillée; on ignorait si elle avait été transmise au service d'assistance juridique. Au total, c'est une indemnité de 24'725 fr. qui a été allouée au requérant, plus une indemnité de 3'000 fr. pour la procédure d'indemnisation. Par arrêt du 26 novembre 2001, la Chambre pénale a alloué 24'725 fr. d'indemnité, plus une participation aux honoraires d'avocat de 3'000 fr. pour la procédure d'indemnisation. L'indemnité, allouée sur la base de l'art. 379 du code de procédure pénale genevois (CPP/GE), n'était pas destinée à couvrir intégralement le dommage mais était fixée ex aequo et bono. Le requérant ne pouvait prétendre à être indemnisé à raison des 45 jours de détention correspondant à la condamnation pour violation de la LSEE. Sans cette infraction, il n'aurait pas été arrêté en Suisse. Son attitude silencieuse avait par ailleurs compliqué la procédure. Le cas était toutefois exceptionnel et justifiait un dépassement du plafond de 10'000 fr. prévu par la loi. L'indemnité pour tort moral a été fixée à 20'000 fr. Le loyer, couvert par son employeur, les primes d'assurance et la taxe d'habitation, dues indépendamment de la détention, les cotisations sociales, pour la période durant laquelle le requérant était en liberté ou licitement détenu, la pension alimentaire, que le requérant n'acquittait que sporadiquement, et un prêt personnel, qui n'était pas un dommage direct, n'ont pas été indemnisés. Les frais de déménagement, par 1'214 fr. ont été couverts, ainsi qu'un emprunt de 15'100 FF, que le requérant n'avait pu rembourser en raison de sa détention. Les frais relatifs à un scooter (remise en état et frais de fourrière) ont été refusés, car le véhicule avait été récupéré tardivement et sa saisie était la conséquence de l'entrée irrégulière en Suisse. Le requérant avait bénéficié de l'assistance juridique, et la note d'honoraires n'était pas détaillée; on ignorait si elle avait été transmise au service d'assistance juridique. Au total, c'est une indemnité de 24'725 fr. qui a été allouée au requérant, plus une indemnité de 3'000 fr. pour la procédure d'indemnisation. C. C._ forme un recours de droit public contre cet arrêt. Il en demande l'annulation, ainsi que le renvoi de la cause à la cour cantonale. Il requiert l'assistance judiciaire. La Chambre pénale et le Procureur général se réfèrent aux considérants de l'arrêt attaqué.